<?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>93792</bug_id>
          
          <creation_ts>2012-08-12 21:36:05 -0700</creation_ts>
          <short_desc>[V8] Factor out exception related methods of V8Proxy</short_desc>
          <delta_ts>2012-08-15 17:02:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>85330</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>a.renevier</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>693372</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-12 21:36:05 -0700</bug_when>
    <thetext>To remove V8Proxy, we can factor out exception related methods of V8Proxy to a separate file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693378</commentid>
    <comment_count>1</comment_count>
      <attachid>157919</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-12 22:24:28 -0700</bug_when>
    <thetext>Created attachment 157919
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693391</commentid>
    <comment_count>2</comment_count>
      <attachid>157919</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-12 23:24:17 -0700</bug_when>
    <thetext>Comment on attachment 157919
Patch

Attachment 157919 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13475983

New failing tests:
http/tests/security/document-all.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693392</commentid>
    <comment_count>3</comment_count>
      <attachid>157924</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-12 23:24:23 -0700</bug_when>
    <thetext>Created attachment 157924
Archive of layout-test-results from gce-cr-linux-06

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: gce-cr-linux-06  Port: &lt;class &apos;webkitpy.common.config.ports.ChromiumXVFBPort&apos;&gt;  Platform: Linux-2.6.39-gcg-201203291735-x86_64-with-Ubuntu-10.04-lucid</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693438</commentid>
    <comment_count>4</comment_count>
      <attachid>157937</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-13 01:13:09 -0700</bug_when>
    <thetext>Created attachment 157937
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693789</commentid>
    <comment_count>5</comment_count>
      <attachid>157937</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-13 10:24:03 -0700</bug_when>
    <thetext>Comment on attachment 157937
Patch

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

&gt; Source/WebCore/bindings/v8/V8ThrowException.cpp:34
&gt; +static v8::Handle&lt;v8::Value&gt; DOMExceptionStackGetter(v8::Local&lt;v8::String&gt; name, const v8::AccessorInfo&amp; info)

DOMExceptionStackGetter -&gt; domExceptionStackGetter

&gt; Source/WebCore/bindings/v8/V8ThrowException.cpp:40
&gt; +static void DOMExceptionStackSetter(v8::Local&lt;v8::String&gt; name, v8::Local&lt;v8::Value&gt; value, const v8::AccessorInfo&amp; info)

DOMExceptionStackSetter -&gt; domExceptionStackSetter

&gt; Source/WebCore/bindings/v8/V8ThrowException.cpp:58
&gt; +        const char* message = 0;
&gt; +        return V8ThrowException::throwTypeError(message, isolate);

I would have combined these lines.

&gt; Source/WebCore/bindings/v8/V8ThrowException.h:32
&gt; +// The types of javascript errors that can be thrown.

This comment seems useless and probably should be removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>694399</commentid>
    <comment_count>6</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-13 19:04:47 -0700</bug_when>
    <thetext>Committed r125495: &lt;http://trac.webkit.org/changeset/125495&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>694408</commentid>
    <comment_count>7</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-13 19:09:08 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; &gt; Source/WebCore/bindings/v8/V8ThrowException.cpp:34
&gt; &gt; +static v8::Handle&lt;v8::Value&gt; DOMExceptionStackGetter(v8::Local&lt;v8::String&gt; name, const v8::AccessorInfo&amp; info)
&gt; 
&gt; DOMExceptionStackGetter -&gt; domExceptionStackGetter
&gt; 
&gt; &gt; Source/WebCore/bindings/v8/V8ThrowException.cpp:40
&gt; &gt; +static void DOMExceptionStackSetter(v8::Local&lt;v8::String&gt; name, v8::Local&lt;v8::Value&gt; value, const v8::AccessorInfo&amp; info)
&gt; 
&gt; DOMExceptionStackSetter -&gt; domExceptionStackSetter
&gt; 
&gt; &gt; Source/WebCore/bindings/v8/V8ThrowException.cpp:58
&gt; &gt; +        const char* message = 0;
&gt; &gt; +        return V8ThrowException::throwTypeError(message, isolate);
&gt; 
&gt; I would have combined these lines.
&gt; 
&gt; &gt; Source/WebCore/bindings/v8/V8ThrowException.h:32
&gt; &gt; +// The types of javascript errors that can be thrown.
&gt; 
&gt; This comment seems useless and probably should be removed.

Fixed. Thank you very much for a bunch of reviews!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157919</attachid>
            <date>2012-08-12 22:24:28 -0700</date>
            <delta_ts>2012-08-13 01:13:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93792-20120813142356.patch</filename>
            <type>text/plain</type>
            <size>202121</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1MzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWMzZjExMGM1YTc4Mzcx
MmQ4NjQ4NTI2ODg2ZGNmMjc5ZTM5M2MyNy4uOTM4YTVhNjRmZDI3ZTE4MTdhNWFmMmE2ZjRmYmJk
Mzc1NGZjNDZjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5NCBAQAorMjAxMi0wOC0xMiAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1Y4XSBGYWN0b3Ig
b3V0IGV4Y2VwdGlvbiByZWxhdGVkIG1ldGhvZHMgb2YgVjhQcm94eQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTM3OTIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUbyByZW1vdmUgVjhQcm94eSwgd2UgY2Fu
IGZhY3RvciBvdXQgZXhjZXB0aW9uIHJlbGF0ZWQgbWV0aG9kcyBvZiBWOFByb3h5IHRvIGEgc2Vw
YXJhdGUgZmlsZS4KKworICAgICAgICAoMSkgTW92ZSBleGNlcHRpb24gcmVsYXRlZCBtZXRob2Rz
IGZyb20gVjhQcm94eS57aCxjcHB9IHRvIFY4VGhyb3dFeGNlcHRpb24ue2gsY3BwfS4KKyAgICAg
ICAgKDIpIFRvIGF2b2lkIHdyaXRpbmcgVjhUaHJvd0V4Y2VwdGlvbjo6dGhyb3dFcnJvcigpIGV0
YyBoZXJlIGFuZCB0aGVyZSBpbiBWOCBiaW5kaW5nLAorICAgICAgICBhZGQgV2ViQ29yZTo6dGhy
b3dFcnJvcigpIGV0YyB0byBWOEJpbmRpbmcue2gsY3BwfS4gSWRlYWxseSwgd2Ugd2FudCB0byBs
aXN0IHVwCisgICAgICAgIGFsbCBWOCBiaW5kaW5nIEFQSXMgaW4gVjhCaW5kaW5nLmguCisgICAg
ICAgICgzKSBSZXBsYWNlIGFsbCBWOFByb3h5Ojp0aHJvd0Vycm9yKCkgZXRjIHdpdGggdGhyb3dF
cnJvcigpIGV0Yy4KKworICAgICAgICBOaXQ6IEkgY291bGRuJ3Qgd3JpdGUgdGhlIGRlZmluaXRp
b24gb2YgV2ViQ29yZTo6dGhyb3dFcnJvcigpIGV0YyBpbiBWOEJJbmRpbmcuaAorICAgICAgICBk
dWUgdG8gY2lyY3VsYXIgZGVwZW5kZW5jeSBpc3N1ZXMuCisKKyAgICAgICAgTm8gdGVzdHMuIE5v
IGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIFVzZVY4LmNtYWtlOgorICAgICAgICAq
IFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JW
OC5wbToKKyAgICAgICAgKEdlbmVyYXRlTm9ybWFsQXR0ckdldHRlcik6CisgICAgICAgIChHZW5l
cmF0ZU5vcm1hbEF0dHJTZXR0ZXIpOgorICAgICAgICAoR2VuZXJhdGVPdmVybG9hZGVkRnVuY3Rp
b25DYWxsYmFjayk6CisgICAgICAgIChHZW5lcmF0ZUZ1bmN0aW9uQ2FsbGJhY2spOgorICAgICAg
ICAoR2VuZXJhdGVBcmd1bWVudHNDb3VudENoZWNrKToKKyAgICAgICAgKEdlbmVyYXRlUGFyYW1l
dGVyc0NoZWNrKToKKyAgICAgICAgKEdlbmVyYXRlQ29uc3RydWN0b3JDYWxsYmFjayk6CisgICAg
ICAgIChHZW5lcmF0ZUV2ZW50Q29uc3RydWN0b3JDYWxsYmFjayk6CisgICAgICAgIChHZW5lcmF0
ZU5hbWVkQ29uc3RydWN0b3JDYWxsYmFjayk6CisgICAgICAgIChHZW5lcmF0ZUZ1bmN0aW9uQ2Fs
bFN0cmluZyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFy
cmF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZsb2F0NjRBcnJheVY4SW50ZXJuYWw6OmZvb0Nh
bGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZl
RE9NT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RBY3RpdmVET01PYmplY3RWOElu
dGVybmFsOjpleGNpdGluZ0Z1bmN0aW9uQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVz
dEFjdGl2ZURPTU9iamVjdFY4SW50ZXJuYWw6OnBvc3RNZXNzYWdlQ2FsbGJhY2spOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJWOEludGVybmFsOjphbm90
aGVyRnVuY3Rpb25DYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhUZXN0RXZl
bnRDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0b3JDYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRlc3RFdmVudFRhcmdldFY4SW50ZXJuYWw6Oml0ZW1DYWxsYmFjayk6CisgICAgICAgIChXZWJD
b3JlOjpUZXN0RXZlbnRUYXJnZXRWOEludGVybmFsOjpkaXNwYXRjaEV2ZW50Q2FsbGJhY2spOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VGVzdEludGVyZmFjZVY4SW50ZXJuYWw6OnN1cHBsZW1lbnRhbE1l
dGhvZDJDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RJbnRlcmZhY2U6OmNvbnN0
cnVjdG9yQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyVjhJbnRlcm5hbDo6bWV0aG9kQ2FsbGJhY2spOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlY4VGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3RvckNhbGxiYWNr
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpWOFRlc3ROb2RlOjpjb25zdHJ1Y3RvckNhbGxiYWNrKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjphdHRyV2l0aEdldHRlckV4Y2VwdGlvbkF0dHJHZXR0
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OmF0dHJXaXRoR2V0dGVy
RXhjZXB0aW9uQXR0clNldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5h
bDo6YXR0cldpdGhTZXR0ZXJFeGNlcHRpb25BdHRyU2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlRlc3RPYmpWOEludGVybmFsOjpzdHJpbmdBdHRyV2l0aEdldHRlckV4Y2VwdGlvbkF0dHJHZXR0
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OnN0cmluZ0F0dHJXaXRo
R2V0dGVyRXhjZXB0aW9uQXR0clNldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJ
bnRlcm5hbDo6c3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRpb25BdHRyU2V0dGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjp3aXRoU2NyaXB0U3RhdGVBdHRyaWJ1dGVS
YWlzZXNBdHRyR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjp3
aXRoU2NyaXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXNBdHRyU2V0dGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OlRlc3RPYmpWOEludGVybmFsOjp3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0
ZVJhaXNlc0F0dHJHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6
OndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QXR0cmlidXRlUmFpc2VzQXR0clNldHRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6d2l0aFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRBbmRTY3JpcHRTdGF0ZUF0dHJpYnV0ZVJhaXNlc0F0dHJHZXR0ZXIpOgorICAgICAgICAo
V2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5k
U2NyaXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXNBdHRyU2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlRlc3RPYmpWOEludGVybmFsOjp2b2lkTWV0aG9kV2l0aEFyZ3NDYWxsYmFjayk6CisgICAgICAg
IChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6TWV0aG9kV2l0aEFyZ3NDYWxsYmFjayk6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6b2JqTWV0aG9kV2l0aEFyZ3NDYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6bWV0aG9kV2l0aFNl
cXVlbmNlQXJnQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6
Om1ldGhvZFJldHVybmluZ1NlcXVlbmNlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVz
dE9ialY4SW50ZXJuYWw6Om1ldGhvZFRoYXRSZXF1aXJlc0FsbEFyZ3NBbmRUaHJvd3NDYWxsYmFj
ayk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6c2VyaWFsaXplZFZhbHVl
Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OmlkYktleUNh
bGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjpvcHRpb25zT2Jq
ZWN0Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6Om1ldGhv
ZFdpdGhFeGNlcHRpb25DYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRl
cm5hbDo6d2l0aFNjcmlwdFN0YXRlVm9pZEV4Y2VwdGlvbkNhbGxiYWNrKToKKyAgICAgICAgKFdl
YkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjp3aXRoU2NyaXB0U3RhdGVPYmpFeGNlcHRpb25DYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6d2l0aFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZU9iakV4Y2VwdGlvbkNhbGxiYWNrKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjptZXRob2RXaXRoTm9uT3B0aW9uYWxBcmdB
bmRPcHRpb25hbEFyZ0NhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVy
bmFsOjptZXRob2RXaXRoTm9uT3B0aW9uYWxBcmdBbmRUd29PcHRpb25hbEFyZ3NDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6bWV0aG9kV2l0aENhbGxiYWNr
QXJnQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6Om1ldGhv
ZFdpdGhOb25DYWxsYmFja0FyZ0FuZENhbGxiYWNrQXJnQ2FsbGJhY2spOgorICAgICAgICAoV2Vi
Q29yZTo6VGVzdE9ialY4SW50ZXJuYWw6Om1ldGhvZFdpdGhDYWxsYmFja0FuZE9wdGlvbmFsQXJn
Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6Om92ZXJsb2Fk
ZWRNZXRob2QxQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6
Om92ZXJsb2FkZWRNZXRob2QyQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4
SW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2QzQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6
VGVzdE9ialY4SW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2Q0Q2FsbGJhY2spOgorICAgICAgICAo
V2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2Q1Q2FsbGJhY2spOgor
ICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2Q2Q2Fs
bGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6Om92ZXJsb2FkZWRN
ZXRob2Q3Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6Om92
ZXJsb2FkZWRNZXRob2Q4Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50
ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2Q5Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVz
dE9ialY4SW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2QxMENhbGxiYWNrKToKKyAgICAgICAgKFdl
YkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjpvdmVybG9hZGVkTWV0aG9kQ2FsbGJhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2QxMUNhbGxi
YWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjpvdmVybG9hZGVkTWV0
aG9kMTJDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6Y2xh
c3NNZXRob2RXaXRoQ2xhbXBDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJ
bnRlcm5hbDo6ZW5hYmxlZEF0UnVudGltZU1ldGhvZDFDYWxsYmFjayk6CisgICAgICAgIChXZWJD
b3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6ZW5hYmxlZEF0UnVudGltZU1ldGhvZDJDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6ZW5hYmxlZFBlckNvbnRleHRN
ZXRob2QxQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OmVu
YWJsZWRQZXJDb250ZXh0TWV0aG9kMkNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RP
YmpWOEludGVybmFsOjpzdHJpbmdBcnJheUZ1bmN0aW9uQ2FsbGJhY2spOgorICAgICAgICAoV2Vi
Q29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OmdldFNWR0RvY3VtZW50Q2FsbGJhY2spOgorICAgICAg
ICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OmNvbnZlcnQxQ2FsbGJhY2spOgorICAgICAg
ICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OmNvbnZlcnQyQ2FsbGJhY2spOgorICAgICAg
ICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OmNvbnZlcnQzQ2FsbGJhY2spOgorICAgICAg
ICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OmNvbnZlcnQ0Q2FsbGJhY2spOgorICAgICAg
ICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OmNvbnZlcnQ1Q2FsbGJhY2spOgorICAgICAg
ICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OnN0cmljdEZ1bmN0aW9uQ2FsbGJhY2spOgor
ICAgICAgICAoV2ViQ29yZTo6VjhUZXN0T2JqOjpjb25zdHJ1Y3RvckNhbGxiYWNrKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RTZXJpYWxpemVkU2NyaXB0VmFs
dWVJbnRlcmZhY2VWOEludGVybmFsOjphY2NlcHRUcmFuc2Zlckxpc3RDYWxsYmFjayk6CisgICAg
ICAgIChXZWJDb3JlOjpUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlVjhJbnRlcm5h
bDo6bXVsdGlUcmFuc2Zlckxpc3RDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OmNvbnN0cnVjdG9yQ2FsbGJhY2spOgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L0RhdGVFeHRlbnNpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RGF0ZUV4dGVuc2lvbjo6T25TbGVlcERldGVjdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9O
UFY4T2JqZWN0LmNwcDoKKyAgICAgICAgKF9OUE5fU2V0RXhjZXB0aW9uKToKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2VyaWFsaXplZFNjcmlwdFZhbHVlOjp0cmFuc2ZlckFycmF5QnVmZmVycyk6CisgICAgICAgIChX
ZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSk6Cisg
ICAgICAgICogYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNl
dERPTUV4Y2VwdGlvbik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OnRo
cm93RXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6dGhyb3dUeXBlRXJyb3IpOgorICAgICAgICAo
V2ViQ29yZTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcik6CisgICAgICAgICogYmluZGlu
Z3MvdjgvVjhCaW5kaW5nLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
OnRvVjhTZXF1ZW5jZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhDb2xsZWN0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRvT3B0aW9uc0NvbGxlY3Rpb25TZXR0ZXIpOgorICAgICAgICAq
IGJpbmRpbmdzL3Y4L1Y4TlBPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bnBPYmplY3RJ
bnZva2VJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Om5wT2JqZWN0R2V0UHJvcGVydHkpOgorICAg
ICAgICAoV2ViQ29yZTo6bnBPYmplY3RTZXRQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpu
cE9iamVjdFByb3BlcnR5RW51bWVyYXRvcik6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhOb2Rl
RmlsdGVyQ29uZGl0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4Tm9kZUZpbHRlckNvbmRp
dGlvbjo6YWNjZXB0Tm9kZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpoYW5kbGVNYXhSZWN1cnNpb25EZXB0aEV4Y2VlZGVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlY4UHJveHk6OmNoZWNrTmV3TGVnYWwpOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L1Y4UHJveHkuaDoKKyAgICAgICAgKFY4UHJveHkpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogYmluZGluZ3MvdjgvVjhUaHJvd0V4Y2VwdGlvbi5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpET01FeGNlcHRpb25TdGFja0dldHRlcik6
CisgICAgICAgIChXZWJDb3JlOjpET01FeGNlcHRpb25TdGFja1NldHRlcik6CisgICAgICAgIChX
ZWJDb3JlOjpWOFRocm93RXhjZXB0aW9uOjpzZXRET01FeGNlcHRpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6VjhUaHJvd0V4Y2VwdGlvbjo6dGhyb3dFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpW
OFRocm93RXhjZXB0aW9uOjp0aHJvd1R5cGVFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpWOFRo
cm93RXhjZXB0aW9uOjp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKToKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9WOFRocm93RXhjZXB0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChWOFRocm93RXhjZXB0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFV0
aWxpdGllcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpleHRyYWN0VHJhbnNmZXJhYmxlcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpnZXRNZXNzYWdlUG9ydEFycmF5KToKKyAgICAgICAgKFdlYkNvcmU6
OnNldFR5cGVNaXNtYXRjaEV4Y2VwdGlvbik6CisgICAgICAgICogYmluZGluZ3MvdjgvV29ya2Vy
Q29udGV4dEV4ZWN1dGlvblByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRl
eHRFeGVjdXRpb25Qcm94eTo6ZXZhbHVhdGUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEFycmF5QnVmZmVyQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4QXJyYXlCdWZm
ZXI6OmNvbnN0cnVjdG9yQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OEFycmF5QnVmZmVyVmlld0N1c3RvbS5oOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3RydWN0V2Vi
R0xBcnJheVdpdGhBcnJheUJ1ZmZlckFyZ3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN0
cnVjdFdlYkdMQXJyYXkpOgorICAgICAgICAoV2ViQ29yZTo6c2V0V2ViR0xBcnJheUhlbHBlcik6
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXVkaW9CdWZmZXJTb3VyY2VOb2RlQ3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4QXVkaW9CdWZmZXJTb3VyY2VOb2RlOjpidWZm
ZXJBY2Nlc3NvclNldHRlcik6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXVkaW9D
b250ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4QXVkaW9Db250ZXh0Ojpjb25z
dHJ1Y3RvckNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhCbG9iQ3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4QmxvYjo6Y29uc3RydWN0b3JDYWxsYmFjayk6
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5bGVEZWNsYXJhdGlvbkN1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOENTU1N0eWxlRGVjbGFyYXRpb246Om5hbWVkUHJv
cGVydHlTZXR0ZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENsaXBib2FyZEN1
c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOENsaXBib2FyZDo6Y2xlYXJEYXRhQ2FsbGJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6VjhDbGlwYm9hcmQ6OnNldERyYWdJbWFnZUNhbGxiYWNr
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0YUN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpWOERPTUZvcm1EYXRhOjpjb25zdHJ1Y3RvckNhbGxiYWNrKToK
KyAgICAgICAgKFdlYkNvcmU6OlY4RE9NRm9ybURhdGE6OmFwcGVuZENhbGxiYWNrKToKKyAgICAg
ICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VjhET01TdHJpbmdNYXA6Om5hbWVkUHJvcGVydHlTZXR0ZXIpOgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXaW5kb3dTZXRUaW1lb3V0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpoYW5kbGVQ
b3N0TWVzc2FnZUNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhEYXRh
Vmlld0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERhdGFWaWV3Ojpjb25zdHJ1Y3Rv
ckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RGF0YVZpZXc6OmdldEludDhDYWxsYmFj
ayk6CisgICAgICAgIChXZWJDb3JlOjpWOERhdGFWaWV3OjpnZXRVaW50OENhbGxiYWNrKToKKyAg
ICAgICAgKFdlYkNvcmU6OlY4RGF0YVZpZXc6OnNldEludDhDYWxsYmFjayk6CisgICAgICAgIChX
ZWJDb3JlOjpWOERhdGFWaWV3OjpzZXRVaW50OENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9jdXN0b20vVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlY4RGlyZWN0b3J5RW50cnk6OmdldERpcmVjdG9yeUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OlY4RGlyZWN0b3J5RW50cnk6OmdldEZpbGVDYWxsYmFjayk6CisgICAgICAgICogYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlY4RGlyZWN0b3J5RW50cnlTeW5jOjpnZXREaXJlY3RvcnlDYWxsYmFjayk6CisgICAg
ICAgIChXZWJDb3JlOjpWOERpcmVjdG9yeUVudHJ5U3luYzo6Z2V0RmlsZUNhbGxiYWNrKToKKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhEb2N1bWVudEN1c3RvbS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpWOERvY3VtZW50OjpldmFsdWF0ZUNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpWOEhUTUxDYW52YXNFbGVtZW50Ojp0b0RhdGFVUkxDYWxsYmFjayk6CisgICAgICAg
ICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTERvY3VtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlY4SFRNTERvY3VtZW50OjpvcGVuQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOEhUTUxFbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlY4SFRNTEVsZW1lbnQ6Oml0ZW1WYWx1ZUFjY2Vzc29yU2V0dGVyKToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6djhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3JDYWxsYmFjayk6CisgICAg
ICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTElucHV0RWxlbWVudEN1c3RvbS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpWOEhUTUxJbnB1dEVsZW1lbnQ6OnNlbGVjdGlvblN0YXJ0QWNjZXNz
b3JHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1MSW5wdXRFbGVtZW50OjpzZWxlY3Rp
b25TdGFydEFjY2Vzc29yU2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4SFRNTElucHV0RWxl
bWVudDo6c2VsZWN0aW9uRW5kQWNjZXNzb3JHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VjhI
VE1MSW5wdXRFbGVtZW50OjpzZWxlY3Rpb25FbmRBY2Nlc3NvclNldHRlcik6CisgICAgICAgIChX
ZWJDb3JlOjpWOEhUTUxJbnB1dEVsZW1lbnQ6OnNlbGVjdGlvbkRpcmVjdGlvbkFjY2Vzc29yR2V0
dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4SFRNTElucHV0RWxlbWVudDo6c2VsZWN0aW9uRGly
ZWN0aW9uQWNjZXNzb3JTZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1MSW5wdXRFbGVt
ZW50OjpzZXRTZWxlY3Rpb25SYW5nZUNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhIVE1MTWVkaWFFbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4
SFRNTE1lZGlhRWxlbWVudDo6Y29udHJvbGxlckFjY2Vzc29yU2V0dGVyKToKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9jdXN0b20vVjhIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VjhIVE1MT3B0aW9uc0NvbGxlY3Rpb246OmFkZENhbGxiYWNrKToKKyAg
ICAgICAgKFdlYkNvcmU6OlY4SFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpsZW5ndGhBY2Nlc3NvclNl
dHRlcik6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SGlzdG9yeUN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpWOEhpc3Rvcnk6OnB1c2hTdGF0ZUNhbGxiYWNrKToKKyAgICAg
ICAgKFdlYkNvcmU6OlY4SGlzdG9yeTo6cmVwbGFjZVN0YXRlQ2FsbGJhY2spOgorICAgICAgICAq
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpWOEluamVjdGVkU2NyaXB0SG9zdDo6aW5zcGVjdGVkT2JqZWN0Q2FsbGJh
Y2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEludGVudENvbnN0cnVjdG9yLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlY4SW50ZW50Ojpjb25zdHJ1Y3RvckNhbGxiYWNrKToKKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhMb2NhdGlvbkN1c3RvbS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpWOExvY2F0aW9uOjpwcm90b2NvbEFjY2Vzc29yU2V0dGVyKToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlQ2hhbm5lbENvbnN0cnVjdG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlY4TWVzc2FnZUNoYW5uZWw6OmNvbnN0cnVjdG9yQ2FsbGJhY2spOgor
ICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VQb3J0Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2spOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VjhNdXRhdGlvbk9ic2VydmVyOjpjb25zdHJ1Y3RvckNhbGxiYWNrKToKKyAgICAg
ICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlY4Tm9kZTo6aW5zZXJ0QmVmb3JlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhO
b2RlOjpyZXBsYWNlQ2hpbGRDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOE5vZGU6OnJl
bW92ZUNoaWxkQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhOb2RlOjphcHBlbmRDaGls
ZENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25D
ZW50ZXJDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhOb3RpZmljYXRpb25DZW50ZXI6
OmNyZWF0ZUhUTUxOb3RpZmljYXRpb25DYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOE5v
dGlmaWNhdGlvbkNlbnRlcjo6Y3JlYXRlTm90aWZpY2F0aW9uQ2FsbGJhY2spOgorICAgICAgICAo
V2ViQ29yZTo6VjhOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uQ2FsbGJhY2sp
OgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFJlc3VsdFNldFJvd0xpc3RDdXN0
b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhTUUxSZXN1bHRTZXRSb3dMaXN0OjppdGVtQ2Fs
bGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9uQ3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4U1FMVHJhbnNhY3Rpb246OmV4ZWN1dGVTcWxD
YWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJhbnNhY3Rpb25T
eW5jQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4U1FMVHJhbnNhY3Rpb25TeW5jOjpl
eGVjdXRlU3FsQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNWR0xl
bmd0aEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFNWR0xlbmd0aDo6dmFsdWVBY2Nl
c3NvckdldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpWOFNWR0xlbmd0aDo6dmFsdWVBY2Nlc3Nv
clNldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpWOFNWR0xlbmd0aDo6Y29udmVydFRvU3BlY2lm
aWVkVW5pdHNDYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3RvcmFn
ZUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzdG9yYWdlU2V0dGVyKToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Z2V0T2JqZWN0UGFyYW1ldGVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlY4V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRBdHRhY2hlZFNoYWRlcnNDYWxsYmFjayk6Cisg
ICAgICAgIChXZWJDb3JlOjpWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0RXh0ZW5zaW9uQ2Fs
bGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEZy
YW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6
OlY4V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRQYXJhbWV0ZXJDYWxsYmFjayk6CisgICAgICAg
IChXZWJDb3JlOjpWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0UHJvZ3JhbVBhcmFtZXRlckNh
bGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRT
aGFkZXJQYXJhbWV0ZXJDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOFdlYkdMUmVuZGVy
aW5nQ29udGV4dDo6Z2V0VW5pZm9ybUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OnZlcnRl
eEF0dHJpYkFuZFVuaWZvcm1IZWxwZXJmKToKKyAgICAgICAgKFdlYkNvcmU6OnVuaWZvcm1IZWxw
ZXJpKToKKyAgICAgICAgKFdlYkNvcmU6OnVuaWZvcm1NYXRyaXhIZWxwZXIpOgorICAgICAgICAq
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdFBvaW50Q29uc3RydWN0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VjhXZWJLaXRQb2ludDo6Y29uc3RydWN0b3JDYWxsYmFjayk6CisgICAgICAg
ICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViU29ja2V0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlY4V2ViU29ja2V0Ojpjb25zdHJ1Y3RvckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OlY4V2ViU29ja2V0OjpzZW5kQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhXb3Jr
ZXJDb250ZXh0OjppbXBvcnRTY3JpcHRzQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOFdvcmtlckN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpoYW5kbGVQb3N0
TWVzc2FnZUNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRw
UmVxdWVzdENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4WE1MSHR0cFJlcXVl
c3Q6OmNvbnN0cnVjdG9yQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OFhNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4WE1MSHR0cFJl
cXVlc3Q6OnJlc3BvbnNlVGV4dEFjY2Vzc29yR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4
WE1MSHR0cFJlcXVlc3Q6OnJlc3BvbnNlQWNjZXNzb3JHZXR0ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6VjhYTUxIdHRwUmVxdWVzdDo6b3BlbkNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4
WE1MSHR0cFJlcXVlc3Q6OnNlbmRDYWxsYmFjayk6CisKIDIwMTItMDgtMTIgIFByYXZpbiBEICA8
cHJhdmluZC4yazRAZ21haWwuY29tPgogCiAgICAgICAgIHRhYmxlIGNlbGwuY2VsbEluZGV4IHNo
b3VsZCByZXR1cm4gLTEgaWYgdGhlcmUgaXMgbm8gcGFyZW50IHRhYmxlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCmlu
ZGV4IDYzODkwYWZlYmU2ZDA0OGRjNGYwYjM3ZDBmMzdjYTMwMGEzZGIxYzMuLmRmOTFkZTQ1Y2Jk
ZmU5ODE2MGI1OTM2NzBkOTg1MzQzYjRiNWIyYWEgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1VzZVY4LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCkBAIC02NCw2ICs2
NCw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL3Y4L1Y4UGVy
SXNvbGF0ZURhdGEuY3BwCiAgICAgYmluZGluZ3MvdjgvVjhQcm94eS5jcHAKICAgICBiaW5kaW5n
cy92OC9WOFJlY3Vyc2lvblNjb3BlLmNwcAorICAgIGJpbmRpbmdzL3Y4L1Y4VGhyb3dFeGNlcHRp
b24uY3BwCiAgICAgYmluZGluZ3MvdjgvVjhVdGlsaXRpZXMuY3BwCiAgICAgYmluZGluZ3Mvdjgv
VjhWYWx1ZUNhY2hlLmNwcAogICAgIGJpbmRpbmdzL3Y4L1Y4V2luZG93RXJyb3JIYW5kbGVyLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCmluZGV4IDE4NDA0OWE1NTQ1OWE0YTQ0ZTA1YzMzNjE5NWFkYjFiMjA5
OTI5MDEuLjhkOWU3NDJiMDZjMzkzNjg5YThkYzYxOTM1ZDAwNWJhMjExY2UxMmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKQEAgLTIyODAsNiArMjI4MCw4IEBACiAgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
VjhQcm94eS5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOFJlY3Vyc2lvblNjb3BlLmNw
cCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvVjhSZWN1cnNpb25TY29wZS5oJywKKyAgICAg
ICAgICAgICdiaW5kaW5ncy92OC9WOFRocm93RXhjZXB0aW9uLmNwcCcsCisgICAgICAgICAgICAn
YmluZGluZ3MvdjgvVjhUaHJvd0V4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92
OC9WOFV0aWxpdGllcy5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4VXRpbGl0aWVz
LmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4VmFsdWVDYWNoZS5jcHAnLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0g
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQppbmRl
eCAwYTlkOWQ3MmZjNDNjMTg5M2QxZWMwNjlhN2Y4MzFkYzAxMjMwYTVjLi4wMGU0MzliYzIzZDZh
NTNlZGRjOTZhNmFkMjYwN2E1ZDdjZDdjMDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtOTY1LDcgKzk2NSw3IEBAIEVO
RAogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICAkbmF0aXZlVHlwZSB2
ID0gJGdldHRlclN0cmluZztcbiIpOwogICAgICAgICB9CiAgICAgICAgIHB1c2goQGltcGxDb250
ZW50RGVjbHMsICIgICAgaWYgKFVOTElLRUxZKGVjKSlcbiIpOwotICAgICAgICBwdXNoKEBpbXBs
Q29udGVudERlY2xzLCAiICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVj
LCBpbmZvLkdldElzb2xhdGUoKSk7XG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNs
cywgIiAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkp
O1xuIik7CiAKICAgICAgICAgaWYgKCRjb2RlR2VuZXJhdG9yLT5FeHRlbmRlZEF0dHJpYnV0ZUNv
bnRhaW5zKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNhbGxX
aXRoIn0sICJTY3JpcHRTdGF0ZSIpKSB7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudERl
Y2xzLCAiICAgIGlmIChzdGF0ZS5oYWRFeGNlcHRpb24oKSlcbiIpOwpAQCAtMTE0Nyw3ICsxMTQ3
LDcgQEAgc3ViIEdlbmVyYXRlTm9ybWFsQXR0clNldHRlcgogICAgICAgICBteSAkYXJnVHlwZSA9
IEdldFR5cGVGcm9tU2lnbmF0dXJlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSk7CiAgICAgICAgIGlm
IChJc1dyYXBwZXJUeXBlKCRhcmdUeXBlKSkgewogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnREZWNscywgIiAgICBpZiAoIWlzVW5kZWZpbmVkT3JOdWxsKHZhbHVlKSAmJiAhVjgke2FyZ1R5
cGV9OjpIYXNJbnN0YW5jZSh2YWx1ZSkpIHtcbiIpOwotICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnREZWNscywgIiAgICAgICAgVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoMCwgaW5mby5HZXRJ
c29sYXRlKCkpO1xuIik7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAg
ICAgICB0aHJvd1R5cGVFcnJvcigwLCBpbmZvLkdldElzb2xhdGUoKSk7XG4iKTsKICAgICAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgICAgIHJldHVybjtcbiIpOwogICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICB9XG4iKTsKICAgICAgICAgfQpAQCAt
MTE2NCw3ICsxMTY0LDcgQEAgRU5ECiAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiRXhj
ZXB0aW9uQ29kZS5oIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAg
ICRzdmdOYXRpdmVUeXBlKiB3cmFwcGVyID0gVjgke2ltcGxDbGFzc05hbWV9Ojp0b05hdGl2ZShp
bmZvLkhvbGRlcigpKTtcbiIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywg
IiAgICBpZiAod3JhcHBlci0+aXNSZWFkT25seSgpKSB7XG4iKTsKLSAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50RGVjbHMsICIgICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihOT19N
T0RJRklDQVRJT05fQUxMT1dFRF9FUlIsIGluZm8uR2V0SXNvbGF0ZSgpKTtcbiIpOworICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICAgICAgc2V0RE9NRXhjZXB0aW9uKE5P
X01PRElGSUNBVElPTl9BTExPV0VEX0VSUiwgaW5mby5HZXRJc29sYXRlKCkpO1xuIik7CiAgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgICAgICByZXR1cm47XG4iKTsKICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgfVxuIik7CiAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgICRzdmdXcmFwcGVkTmF0aXZlVHlwZSYgaW1w
SW5zdGFuY2UgPSB3cmFwcGVyLT5wcm9wZXJ0eVJlZmVyZW5jZSgpO1xuIik7CkBAIC0xMjczLDcg
KzEyNzMsNyBAQCBFTkQKIAogICAgIGlmICgkdXNlRXhjZXB0aW9ucykgewogICAgICAgICBwdXNo
KEBpbXBsQ29udGVudERlY2xzLCAiICAgIGlmIChVTkxJS0VMWShlYykpXG4iKTsKLSAgICAgICAg
cHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9u
KGVjLCBpbmZvLkdldElzb2xhdGUoKSk7XG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnRE
ZWNscywgIiAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7XG4i
KTsKICAgICB9CiAKICAgICBpZiAoJGNvZGVHZW5lcmF0b3ItPkV4dGVuZGVkQXR0cmlidXRlQ29u
dGFpbnMoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2FsbFdp
dGgifSwgIlNjcmlwdFN0YXRlIikpIHsKQEAgLTE0NDcsNyArMTQ0Nyw3IEBAIEVORAogICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgICAgICByZXR1cm4gJHtuYW1lfSRvdmVybG9h
ZC0+e292ZXJsb2FkSW5kZXh9Q2FsbGJhY2soYXJncyk7XG4iKTsKICAgICB9CiAgICAgcHVzaChA
aW1wbENvbnRlbnREZWNscywgPDxFTkQpOwotICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVF
cnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKDAs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIEVORAogICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICJ9
XG5cbiIpOwogICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIjZW5kaWYgLy8gJHtjb25kaXRp
b25hbFN0cmluZ31cblxuIikgaWYgJGNvbmRpdGlvbmFsU3RyaW5nOwpAQCAtMTUwOCw3ICsxNTA4
LDcgQEAgRU5ECiAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiRXhjZXB0aW9uQ29kZS5o
Iik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgICRuYXRpdmVDbGFz
c05hbWUgd3JhcHBlciA9IFY4JHtpbXBsQ2xhc3NOYW1lfTo6dG9OYXRpdmUoYXJncy5Ib2xkZXIo
KSk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgaWYgKHdy
YXBwZXItPmlzUmVhZE9ubHkoKSlcbiIpOwotICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnRE
ZWNscywgIiAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihOT19NT0RJRklD
QVRJT05fQUxMT1dFRF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTtcbiIpOworICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihO
T19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTtcbiIpOwogICAg
ICAgICAgICAgbXkgJHN2Z1dyYXBwZWROYXRpdmVUeXBlID0gJGNvZGVHZW5lcmF0b3ItPkdldFNW
R1dyYXBwZWRUeXBlTmVlZGluZ1RlYXJPZmYoJGltcGxDbGFzc05hbWUpOwogICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICAkc3ZnV3JhcHBlZE5hdGl2ZVR5cGUmIGltcElu
c3RhbmNlID0gd3JhcHBlci0+cHJvcGVydHlSZWZlcmVuY2UoKTtcbiIpOwogICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICAkc3ZnV3JhcHBlZE5hdGl2ZVR5cGUqIGltcCA9
ICZpbXBJbnN0YW5jZTtcbiIpOwpAQCAtMTU2NCw3ICsxNTY0LDcgQEAgRU5ECiAgICAgaWYgKCRy
YWlzZXNFeGNlcHRpb25zKSB7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAg
fVxuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgZmFpbDpcbiIpOwot
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgIHJldHVybiBWOFByb3h5OjpzZXRE
T01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTtcbiIpOworICAgICAgICBwdXNoKEBp
bXBsQ29udGVudERlY2xzLCAiICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0
SXNvbGF0ZSgpKTtcbiIpOwogICAgIH0KIAogICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICJ9
XG5cbiIpOwpAQCAtMTYzNCw3ICsxNjM0LDcgQEAgc3ViIEdlbmVyYXRlQXJndW1lbnRzQ291bnRD
aGVjawogICAgIG15ICRhcmd1bWVudHNDb3VudENoZWNrU3RyaW5nID0gIiI7CiAgICAgaWYgKCRu
dW1NYW5kYXRvcnlQYXJhbXMgPj0gMSkgewogICAgICAgICAkYXJndW1lbnRzQ291bnRDaGVja1N0
cmluZyAuPSAiICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgJG51bU1hbmRhdG9yeVBhcmFtcylcbiI7
Ci0gICAgICAgICRhcmd1bWVudHNDb3VudENoZWNrU3RyaW5nIC49ICIgICAgICAgIHJldHVybiBW
OFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTtc
biI7CisgICAgICAgICRhcmd1bWVudHNDb3VudENoZWNrU3RyaW5nIC49ICIgICAgICAgIHJldHVy
biB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTtcbiI7CiAg
ICAgfQogICAgIHJldHVybiAkYXJndW1lbnRzQ291bnRDaGVja1N0cmluZzsKIH0KQEAgLTE2OTgs
MTIgKzE2OTgsMTIgQEAgc3ViIEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrCiAgICAgICAgICAgICAg
ICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgUmVmUHRyPCIgLiAkcGFyYW1ldGVyLT50
eXBlIC4gIj4gJHBhcmFtZXRlck5hbWU7XG4iOwogICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJD
aGVja1N0cmluZyAuPSAiICAgIGlmIChhcmdzLkxlbmd0aCgpID4gJHBhcmFtSW5kZXggJiYgIWFy
Z3NbJHBhcmFtSW5kZXhdLT5Jc051bGwoKSAmJiAhYXJnc1skcGFyYW1JbmRleF0tPklzVW5kZWZp
bmVkKCkpIHtcbiI7CiAgICAgICAgICAgICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIg
ICAgICAgIGlmICghYXJnc1skcGFyYW1JbmRleF0tPklzRnVuY3Rpb24oKSlcbiI7Ci0gICAgICAg
ICAgICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgICAgICAgICByZXR1cm4gVjhQ
cm94eTo6c2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdldElzb2xhdGUo
KSk7XG4iOworICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgICAg
ICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJ
c29sYXRlKCkpO1xuIjsKICAgICAgICAgICAgICAgICAkcGFyYW1ldGVyQ2hlY2tTdHJpbmcgLj0g
IiAgICAgICAgJHBhcmFtZXRlck5hbWUgPSAke2NsYXNzTmFtZX06OmNyZWF0ZShhcmdzWyRwYXJh
bUluZGV4XSwgZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTtcbiI7CiAgICAgICAgICAgICAg
ICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgfVxuIjsKICAgICAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgaWYgKGFy
Z3MuTGVuZ3RoKCkgPD0gJHBhcmFtSW5kZXggfHwgIWFyZ3NbJHBhcmFtSW5kZXhdLT5Jc0Z1bmN0
aW9uKCkpXG4iOwotICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAg
ICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBh
cmdzLkdldElzb2xhdGUoKSk7XG4iOworICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0
cmluZyAuPSAiICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJS
LCBhcmdzLkdldElzb2xhdGUoKSk7XG4iOwogICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVj
a1N0cmluZyAuPSAiICAgIFJlZlB0cjwiIC4gJHBhcmFtZXRlci0+dHlwZSAuICI+ICRwYXJhbWV0
ZXJOYW1lID0gJHtjbGFzc05hbWV9OjpjcmVhdGUoYXJnc1skcGFyYW1JbmRleF0sIGdldFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSk7XG4iOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2lm
ICgkcGFyYW1ldGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2xhbXAifSkgewpAQCAtMTczOCw3
ICsxNzM4LDcgQEAgc3ViIEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrCiAgICAgICAgICAgICAgICAg
JHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgQXJyYXlCdWZmZXJBcnJheSBhcnJheUJ1ZmZl
ckFycmF5JFRyYW5zZmVyTGlzdE5hbWU7XG4iOwogICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJD
aGVja1N0cmluZyAuPSAiICAgIGlmIChhcmdzLkxlbmd0aCgpID4gJHRyYW5zZmVyTGlzdEluZGV4
KSB7XG4iOwogICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgICAg
ICBpZiAoIWV4dHJhY3RUcmFuc2ZlcmFibGVzKGFyZ3NbJHRyYW5zZmVyTGlzdEluZGV4XSwgbWVz
c2FnZVBvcnRBcnJheSRUcmFuc2Zlckxpc3ROYW1lLCBhcnJheUJ1ZmZlckFycmF5JFRyYW5zZmVy
TGlzdE5hbWUsIGFyZ3MuR2V0SXNvbGF0ZSgpKSlcbiI7Ci0gICAgICAgICAgICAgICAgJHBhcmFt
ZXRlckNoZWNrU3RyaW5nIC49ICIgICAgICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBl
RXJyb3IoXCJDb3VsZCBub3QgZXh0cmFjdCB0cmFuc2ZlcmFibGVzXCIpO1xuIjsKKyAgICAgICAg
ICAgICAgICAkcGFyYW1ldGVyQ2hlY2tTdHJpbmcgLj0gIiAgICAgICAgICAgIHJldHVybiB0aHJv
d1R5cGVFcnJvcihcIkNvdWxkIG5vdCBleHRyYWN0IHRyYW5zZmVyYWJsZXNcIik7XG4iOwogICAg
ICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgIH1cbiI7CiAgICAgICAg
ICAgICAgICAgJHVzZVRyYW5zZmVyTGlzdCA9IDE7CiAgICAgICAgICAgICB9CkBAIC0xNzcyLDE0
ICsxNzcyLDE0IEBAIHN1YiBHZW5lcmF0ZVBhcmFtZXRlcnNDaGVjawogICAgICAgICAgICAgICAg
IG15ICRhcmdUeXBlID0gR2V0VHlwZUZyb21TaWduYXR1cmUoJHBhcmFtZXRlcik7CiAgICAgICAg
ICAgICAgICAgaWYgKElzV3JhcHBlclR5cGUoJGFyZ1R5cGUpKSB7CiAgICAgICAgICAgICAgICAg
ICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgIGlmIChhcmdzLkxlbmd0aCgpID4gJHBh
cmFtSW5kZXggJiYgIWlzVW5kZWZpbmVkT3JOdWxsKCRhcmdWYWx1ZSkgJiYgIVY4JHthcmdUeXBl
fTo6SGFzSW5zdGFuY2UoJGFyZ1ZhbHVlKSlcbiI7Ci0gICAgICAgICAgICAgICAgICAgICRwYXJh
bWV0ZXJDaGVja1N0cmluZyAuPSAiICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJy
b3IoMCwgYXJncy5HZXRJc29sYXRlKCkpO1xuIjsKKyAgICAgICAgICAgICAgICAgICAgJHBhcmFt
ZXRlckNoZWNrU3RyaW5nIC49ICIgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigwLCBhcmdz
LkdldElzb2xhdGUoKSk7XG4iOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgIEVYQ0VQVElPTl9CTE9DSygk
bmF0aXZlVHlwZSwgJHBhcmFtZXRlck5hbWUsICIgLgogICAgICAgICAgICAgICAgICBKU1ZhbHVl
VG9OYXRpdmUoJHBhcmFtZXRlciwgIk1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsICRwYXJh
bUluZGV4LCAkcGFyYW1ldGVyRGVmYXVsdFBvbGljeSkiLCAiYXJncy5HZXRJc29sYXRlKCkiKSAu
ICIpO1xuIjsKICAgICAgICAgICAgIGlmICgkbmF0aXZlVHlwZSBlcSAnRGljdGlvbmFyeScpIHsK
ICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgIGlmICghJHBhcmFt
ZXRlck5hbWUuaXNVbmRlZmluZWRPck51bGwoKSAmJiAhJHBhcmFtZXRlck5hbWUuaXNPYmplY3Qo
KSlcbiI7Ci0gICAgICAgICAgICAgICAkcGFyYW1ldGVyQ2hlY2tTdHJpbmcgLj0gIiAgICAgICAg
cmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKFwiTm90IGFuIG9iamVjdC5cIiwgYXJncy5H
ZXRJc29sYXRlKCkpO1xuIjsKKyAgICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAu
PSAiICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoXCJOb3QgYW4gb2JqZWN0LlwiLCBhcmdz
LkdldElzb2xhdGUoKSk7XG4iOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKQEAgLTE4MjEs
NyArMTgyMSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOCR7aW1wbENsYXNzTmFtZX06OmNv
bnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50CiAgICAgSU5DX1NUQVRTKCJET00u
JHtpbXBsQ2xhc3NOYW1lfS5Db25zdHJ1Y3RvciIpOwogCiAgICAgaWYgKCFhcmdzLklzQ29uc3Ry
dWN0Q2FsbCgpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoIkRPTSBv
YmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIpOworICAg
ICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90
IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIpOwogCiAgICAgaWYgKENvbnN0cnVjdG9yTW9kZTo6
Y3VycmVudCgpID09IENvbnN0cnVjdG9yTW9kZTo6V3JhcEV4aXN0aW5nT2JqZWN0KQogICAgICAg
ICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKQEAgLTE4NDYsNyArMTg0Niw3IEBAIEVORAogCiAgICAg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9IGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKTsKICAgICBpZiAoIWNvbnRleHQpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd0Vy
cm9yKFY4UHJveHk6OlJlZmVyZW5jZUVycm9yLCAiJHtpbXBsQ2xhc3NOYW1lfSBjb25zdHJ1Y3Rv
cidzIGFzc29jaWF0ZWQgY29udGV4dCBpcyBub3QgYXZhaWxhYmxlIiwgYXJncy5HZXRJc29sYXRl
KCkpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihSZWZlcmVuY2VFcnJvciwgIiR7aW1wbENs
YXNzTmFtZX0gY29uc3RydWN0b3IncyBhc3NvY2lhdGVkIGNvbnRleHQgaXMgbm90IGF2YWlsYWJs
ZSIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIEVORAogICAgIH0KIApAQCAtMTg4Niw3ICsxODg2LDcg
QEAgRU5ECiAKICAgICBpZiAoJHJhaXNlc0V4Y2VwdGlvbnMpIHsKICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgIGZhaWw6XG4iKTsKLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAg
cmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpO1xu
Iik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiBzZXRET01FeGNlcHRp
b24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTtcbiIpOwogICAgIH0KIAogICAgIHB1c2goQGltcGxD
b250ZW50LCAifVxuIik7CkBAIC0xOTA1LDEzICsxOTA1LDEzIEBAIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBWOCR7aW1wbENsYXNzTmFtZX06OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFy
Z3VtZW50CiAgICAgSU5DX1NUQVRTKCJET00uJHtpbXBsQ2xhc3NOYW1lfS5Db25zdHJ1Y3RvciIp
OwogCiAgICAgaWYgKCFhcmdzLklzQ29uc3RydWN0Q2FsbCgpKQotICAgICAgICByZXR1cm4gVjhQ
cm94eTo6dGhyb3dUeXBlRXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNh
bGxlZCBhcyBhIGZ1bmN0aW9uLiIpOworICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkRP
TSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIpOwog
CiAgICAgaWYgKENvbnN0cnVjdG9yTW9kZTo6Y3VycmVudCgpID09IENvbnN0cnVjdG9yTW9kZTo6
V3JhcEV4aXN0aW5nT2JqZWN0KQogICAgICAgICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKIAogICAg
IGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90
RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4g
dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBT
VFJJTkdfVE9fVjhQQVJBTUVURVJfRVhDRVBUSU9OX0JMT0NLKFY4UGFyYW1ldGVyPD4sIHR5cGUs
IGFyZ3NbMF0pOwogICAgICR7aW1wbENsYXNzTmFtZX1Jbml0IGV2ZW50SW5pdDsKQEAgLTIwMTQs
MTQgKzIwMTQsMTQgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOCR7aW1wbENsYXNz
TmFtZX1Db25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmcKICAgICBJTkNfU1RBVFMoIkRP
TS4ke2ltcGxDbGFzc05hbWV9LkNvbnN0cnVjdG9yIik7CiAKICAgICBpZiAoIWFyZ3MuSXNDb25z
dHJ1Y3RDYWxsKCkpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiRE9N
IG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIik7Cisg
ICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5u
b3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIik7CiAKICAgICBpZiAoQ29uc3RydWN0b3JNb2Rl
OjpjdXJyZW50KCkgPT0gQ29uc3RydWN0b3JNb2RlOjpXcmFwRXhpc3RpbmdPYmplY3QpCiAgICAg
ICAgIHJldHVybiBhcmdzLkhvbGRlcigpOwogCiAgICAgRnJhbWUqIGZyYW1lID0gY3VycmVudEZy
YW1lKEJpbmRpbmdTdGF0ZTo6aW5zdGFuY2UoKSk7CiAgICAgaWYgKCFmcmFtZSkKLSAgICAgICAg
cmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6UmVmZXJlbmNlRXJyb3IsICIke2lt
cGxDbGFzc05hbWV9IGNvbnN0cnVjdG9yIGFzc29jaWF0ZWQgZnJhbWUgaXMgdW5hdmFpbGFibGUi
LCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFJlZmVyZW5j
ZUVycm9yLCAiJHtpbXBsQ2xhc3NOYW1lfSBjb25zdHJ1Y3RvciBhc3NvY2lhdGVkIGZyYW1lIGlz
IHVuYXZhaWxhYmxlIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gZnJhbWUtPmRvY3VtZW50KCk7CiAKQEAgLTIwODAsNyArMjA4MCw3IEBAIEVORAogCiAg
ICAgaWYgKCRyYWlzZXNFeGNlcHRpb25zKSB7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICBmYWlsOlxuIik7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiBWOFBy
b3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTtcbiIpOworICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdz
LkdldElzb2xhdGUoKSk7XG4iKTsKICAgICB9CiAKICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1c
biIpOwpAQCAtMzUzNSw3ICszNTM1LDcgQEAgc3ViIEdlbmVyYXRlRnVuY3Rpb25DYWxsU3RyaW5n
KCkKICAgICAgICAgfSBlbHNpZiAoJGNvZGVHZW5lcmF0b3ItPklzU1ZHVHlwZU5lZWRpbmdUZWFy
T2ZmKCRwYXJhbWV0ZXItPnR5cGUpIGFuZCBub3QgJGltcGxDbGFzc05hbWUgPX4gL0xpc3QkLykg
ewogICAgICAgICAgICAgcHVzaCBAYXJndW1lbnRzLCAiJHBhcmFtTmFtZS0+cHJvcGVydHlSZWZl
cmVuY2UoKSI7CiAgICAgICAgICAgICAkcmVzdWx0IC49ICRpbmRlbnQgLiAiaWYgKCEkcGFyYW1O
YW1lKVxuIjsKLSAgICAgICAgICAgICRyZXN1bHQgLj0gJGluZGVudCAuICIgICAgcmV0dXJuIFY4
UHJveHk6OnNldERPTUV4Y2VwdGlvbihXZWJDb3JlOjpUWVBFX01JU01BVENIX0VSUiwgYXJncy5H
ZXRJc29sYXRlKCkpO1xuIjsKKyAgICAgICAgICAgICRyZXN1bHQgLj0gJGluZGVudCAuICIgICAg
cmV0dXJuIHNldERPTUV4Y2VwdGlvbihXZWJDb3JlOjpUWVBFX01JU01BVENIX0VSUiwgYXJncy5H
ZXRJc29sYXRlKCkpO1xuIjsKICAgICAgICAgfSBlbHNpZiAoJHBhcmFtZXRlci0+dHlwZSBlcSAi
U1ZHTWF0cml4IiBhbmQgJGltcGxDbGFzc05hbWUgZXEgIlNWR1RyYW5zZm9ybUxpc3QiKSB7CiAg
ICAgICAgICAgICBwdXNoIEBhcmd1bWVudHMsICIkcGFyYW1OYW1lLmdldCgpIjsKICAgICAgICAg
fSBlbHNlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOEZsb2F0NjRBcnJheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuY3BwCmluZGV4IDdkNGQ3NTEzMjc4YzdmZjkwYmZjZGUz
NGI2ODI1ODJmODcyY2E5NWEuLjY0NTRhOTZmZTg3NDg5YjMxMGQ1MTgxMmVmZWMwODc1YTFiYzM2
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OEZsb2F0NjRBcnJheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcApAQCAtNTMsNyArNTMsNyBAQCBzdGF0aWMgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IGZvb0NhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7
CiAgICAgSU5DX1NUQVRTKCJET00uRmxvYXQ2NEFycmF5LmZvbyIpOwogICAgIGlmIChhcmdzLkxl
bmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1l
bnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91
Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgRmxvYXQ2NEFycmF5KiBp
bXAgPSBWOEZsb2F0NjRBcnJheTo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgRVhDRVBU
SU9OX0JMT0NLKEZsb2F0MzJBcnJheSosIGFycmF5LCBWOEZsb2F0MzJBcnJheTo6SGFzSW5zdGFu
Y2UoTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkg
PyBWOEZsb2F0MzJBcnJheTo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChN
QVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKSkgOiAw
KTsKICAgICByZXR1cm4gdG9WOChpbXAtPmZvbyhhcnJheSksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RBY3RpdmVET01PYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKaW5kZXggNGY4Yjg0NTM1ZTJiYTkxMzMx
YzBiN2VhYzg3ZGQ2M2Q3MjkyNmY4NC4uODg2Nzk4NDFlZjg3MjVjY2Y0OTUxYWNkNGU2ODRiY2Iy
ZWE5ZTNmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKQEAgLTUyLDcgKzUy
LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBleGNpdGluZ0Z1bmN0aW9uQ2FsbGJh
Y2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0
QWN0aXZlRE9NT2JqZWN0LmV4Y2l0aW5nRnVuY3Rpb24iKTsKICAgICBpZiAoYXJncy5MZW5ndGgo
KSA8IDEpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vy
cm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJn
dW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogICAgIFRlc3RBY3RpdmVET01PYmplY3Qq
IGltcCA9IFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAg
ICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9GcmFtZShCaW5kaW5n
U3RhdGU6Omluc3RhbmNlKCksIGltcC0+ZnJhbWUoKSkpCiAgICAgICAgIHJldHVybiB2OFVuZGVm
aW5lZCgpOwpAQCAtNjUsNyArNjUsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHBv
c3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBJTkNf
U1RBVFMoIkRPTS5UZXN0QWN0aXZlRE9NT2JqZWN0LnBvc3RNZXNzYWdlIik7CiAgICAgaWYgKGFy
Z3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hB
cmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05v
dEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBUZXN0QWN0aXZl
RE9NT2JqZWN0KiBpbXAgPSBWOFRlc3RBY3RpdmVET01PYmplY3Q6OnRvTmF0aXZlKGFyZ3MuSG9s
ZGVyKCkpOwogICAgIFNUUklOR19UT19WOFBBUkFNRVRFUl9FWENFUFRJT05fQkxPQ0soVjhQYXJh
bWV0ZXI8PiwgbWVzc2FnZSwgTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVs
dElzVW5kZWZpbmVkKSk7CiAgICAgaW1wLT5wb3N0TWVzc2FnZShtZXNzYWdlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21O
YW1lZEdldHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCmluZGV4IGZlY2M0MGM4NmI3NzUyZjVjOTQ0Zjc4
OTFlZDg2OGUwZjU0MjBlNTQuLjg4OGNhZTgzMmRiYzAxNjhlYWFkMzY2ZTUyNGI1NzJhNjg5ZjNk
OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcApAQCAtNDMsNyArNDMs
NyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFub3RoZXJGdW5jdGlvbkNhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdEN1
c3RvbU5hbWVkR2V0dGVyLmFub3RoZXJGdW5jdGlvbiIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgp
IDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJy
b3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1
bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgVGVzdEN1c3RvbU5hbWVkR2V0dGVy
KiBpbXAgPSBWOFRlc3RDdXN0b21OYW1lZEdldHRlcjo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7
CiAgICAgU1RSSU5HX1RPX1Y4UEFSQU1FVEVSX0VYQ0VQVElPTl9CTE9DSyhWOFBhcmFtZXRlcjw+
LCBzdHIsIE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDAsIERlZmF1bHRJc1VuZGVmaW5l
ZCkpOwogICAgIGltcC0+YW5vdGhlckZ1bmN0aW9uKHN0cik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRD
b25zdHJ1Y3Rvci5jcHAKaW5kZXggNmU3NTVhN2NkYjRiNzQwYmE1MmEzNGM3ZGJmZjU5MDU2YzIw
Y2YzZi4uMjM3NjkxM2E5YTE0ZjkxZGU1Yzc4Mjc3YWRiNTdlZTdmZTEzZTRkNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29u
c3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmNwcApAQCAtNjcsMTMgKzY3LDEzIEBAIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOFRlc3RFdmVudENvbnN0cnVjdG9yOjpjb25zdHJ1Y3RvckNhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdEV2ZW50Q29uc3RydWN0b3Iu
Q29uc3RydWN0b3IiKTsKIAogICAgIGlmICghYXJncy5Jc0NvbnN0cnVjdENhbGwoKSkKLSAgICAg
ICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9y
IGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4iKTsKKyAgICAgICAgcmV0dXJuIHRocm93
VHlwZUVycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBm
dW5jdGlvbi4iKTsKIAogICAgIGlmIChDb25zdHJ1Y3Rvck1vZGU6OmN1cnJlbnQoKSA9PSBDb25z
dHJ1Y3Rvck1vZGU6OldyYXBFeGlzdGluZ09iamVjdCkKICAgICAgICAgcmV0dXJuIGFyZ3MuSG9s
ZGVyKCk7CiAKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVybiBWOFBy
b3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAg
ICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRl
KCkpOwogCiAgICAgU1RSSU5HX1RPX1Y4UEFSQU1FVEVSX0VYQ0VQVElPTl9CTE9DSyhWOFBhcmFt
ZXRlcjw+LCB0eXBlLCBhcmdzWzBdKTsKICAgICBUZXN0RXZlbnRDb25zdHJ1Y3RvckluaXQgZXZl
bnRJbml0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5jcHAKaW5kZXggODdlZWE4YmYwZWJiY2RhOTMx
YzRjZmJmODYyODEwNDYxYTYwZGMzNC4uYWMzNWQ2MjI4MWYxZWRiY2I2ZmY2ZTBhODQ2NDhiM2E3
NzlkMTkxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwCkBAIC00Niw3ICs0Niw3IEBAIHN0
YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gaXRlbUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVu
dHMmIGFyZ3MpCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdEV2ZW50VGFyZ2V0Lml0ZW0iKTsK
ICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJv
d05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0
dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogICAg
IFRlc3RFdmVudFRhcmdldCogaW1wID0gVjhUZXN0RXZlbnRUYXJnZXQ6OnRvTmF0aXZlKGFyZ3Mu
SG9sZGVyKCkpOwogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIHsKQEAgLTU4LDcgKzU4
LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBpdGVtQ2FsbGJhY2soY29uc3Qgdjg6
OkFyZ3VtZW50cyYgYXJncykKICAgICByZXR1cm4gdG9WOChpbXAtPml0ZW0oaW5kZXgpLCBhcmdz
LkdldElzb2xhdGUoKSk7CiAgICAgfQogICAgIGZhaWw6Ci0gICAgcmV0dXJuIFY4UHJveHk6OnNl
dERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgIHJldHVybiBzZXRET01F
eGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIH0KIAogc3RhdGljIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBhZGRFdmVudExpc3RlbmVyQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYg
YXJncykKQEAgLTg3LDcgKzg3LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBkaXNw
YXRjaEV2ZW50Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBJTkNf
U1RBVFMoIkRPTS5UZXN0RXZlbnRUYXJnZXQuZGlzcGF0Y2hFdmVudCIpOwogICAgIGlmIChhcmdz
Lkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJn
dW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RF
bm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgVGVzdEV2ZW50VGFy
Z2V0KiBpbXAgPSBWOFRlc3RFdmVudFRhcmdldDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAg
ICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgewpAQCAtOTgsNyArOTgsNyBAQCBzdGF0aWMg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IGRpc3BhdGNoRXZlbnRDYWxsYmFjayhjb25zdCB2ODo6QXJn
dW1lbnRzJiBhcmdzKQogICAgIHJldHVybiB2OEJvb2xlYW4ocmVzdWx0LCBhcmdzLkdldElzb2xh
dGUoKSk7CiAgICAgfQogICAgIGZhaWw6Ci0gICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2Vw
dGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgIHJldHVybiBzZXRET01FeGNlcHRpb24o
ZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgVGVzdEV2ZW50VGFy
Z2V0VjhJbnRlcm5hbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcAppbmRleCA0N2U0MjI4NDAyZGY4NGJh
NzEzNTM3ZTY4NWQwMjE4NGRiMzBhZWMzLi5jNjkzNGQ3YzRhMzUwMjAxMzI4MGZlYzc3M2Q1MzVm
YzEzNGJhN2VmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcApAQCAtMTU2LDcgKzE1Niw3IEBAIHN0
YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gc3VwcGxlbWVudGFsTWV0aG9kMkNhbGxiYWNrKGNv
bnN0IHY4OjpBcmd1bWVudHMmIGFyCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdEludGVyZmFj
ZS5zdXBwbGVtZW50YWxNZXRob2QyIik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAyKQotICAg
ICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdl
dElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9y
KGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBUZXN0SW50ZXJmYWNlKiBpbXAgPSBWOFRlc3RJbnRl
cmZhY2U6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAw
OwogICAgIHsKQEAgLTE3MSw3ICsxNzEsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHN1cHBsZW1lbnRhbE1ldGhvZDJDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcgogICAg
IHJldHVybiB0b1Y4KHJlc3VsdC5yZWxlYXNlKCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICB9
CiAgICAgZmFpbDoKLSAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdz
LkdldElzb2xhdGUoKSk7CisgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJ
c29sYXRlKCkpOwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKENvbmRpdGlvbjExKSB8fCBFTkFCTEUo
Q29uZGl0aW9uMTIpCkBAIC0yNDcsMTIgKzI0NywxMiBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
VjhUZXN0SW50ZXJmYWNlOjpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMm
CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdEludGVyZmFjZS5Db25zdHJ1Y3RvciIpOwogCiAgICAg
aWYgKCFhcmdzLklzQ29uc3RydWN0Q2FsbCgpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhy
b3dUeXBlRXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBh
IGZ1bmN0aW9uLiIpOworICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkRPTSBvYmplY3Qg
Y29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIpOwogCiAgICAgaWYg
KENvbnN0cnVjdG9yTW9kZTo6Y3VycmVudCgpID09IENvbnN0cnVjdG9yTW9kZTo6V3JhcEV4aXN0
aW5nT2JqZWN0KQogICAgICAgICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKICAgICBpZiAoYXJncy5M
ZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3Vt
ZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5v
dWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgRXhjZXB0aW9uQ29k
ZSBlYyA9IDA7CiAgICAgU1RSSU5HX1RPX1Y4UEFSQU1FVEVSX0VYQ0VQVElPTl9CTE9DSyhWOFBh
cmFtZXRlcjw+LCBzdHIxLCBNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0
SXNVbmRlZmluZWQpKTsKQEAgLTI2MCw3ICsyNjAsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
VjhUZXN0SW50ZXJmYWNlOjpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMm
CiAKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0ID0gZ2V0U2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpOwogICAgIGlmICghY29udGV4dCkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6
OnRocm93RXJyb3IoVjhQcm94eTo6UmVmZXJlbmNlRXJyb3IsICJUZXN0SW50ZXJmYWNlIGNvbnN0
cnVjdG9yJ3MgYXNzb2NpYXRlZCBjb250ZXh0IGlzIG5vdCBhdmFpbGFibGUiLCBhcmdzLkdldElz
b2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFJlZmVyZW5jZUVycm9yLCAiVGVz
dEludGVyZmFjZSBjb25zdHJ1Y3RvcidzIGFzc29jaWF0ZWQgY29udGV4dCBpcyBub3QgYXZhaWxh
YmxlIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgUmVmUHRyPFRlc3RJbnRlcmZhY2U+IGlt
cGwgPSBUZXN0SW50ZXJmYWNlOjpjcmVhdGUoY29udGV4dCwgc3RyMSwgc3RyMiwgZWMpOwogICAg
IHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IGFyZ3MuSG9sZGVyKCk7CkBAIC0yNzEs
NyArMjcxLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4VGVzdEludGVyZmFjZTo6Y29uc3Ry
dWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJgogICAgIFY4RE9NV3JhcHBlcjo6c2V0
SlNXcmFwcGVyRm9yQWN0aXZlRE9NT2JqZWN0KGltcGwucmVsZWFzZSgpLCB3cmFwcGVyLCBhcmdz
LkdldElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHdyYXBwZXI7CiAgIGZhaWw6Ci0gICAgcmV0dXJu
IFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgIHJl
dHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIH0KIAogc3RhdGlj
IHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBDb25maWd1cmVWOFRlc3RJbnRl
cmZhY2VUZW1wbGF0ZSh2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gZGVzYykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAppbmRleCAyNjVm
MzA4NzkwMDIxZGY1Njk1YzU3MDAwNjE5OTkzZDhkYmU4MjgxLi40ZDNkOTViZTBiNzAyNjk0M2Uy
OTZjNDE0MGZkODgxZmQxNTBiZmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXIuY3BwCkBAIC00NCw3ICs0NCw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gbWV0aG9kQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBJ
TkNfU1RBVFMoIkRPTS5UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5tZXRob2QiKTsKICAgICBp
ZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVu
b3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRo
cm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogICAgIFRlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBpbXAgPSBWOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBFWENFUFRJT05fQkxPQ0soUmVmUHRyPE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXI+LCBsaXN0ZW5lciwgTWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6
Y3JlYXRlKE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDAsIERlZmF1bHRJc1VuZGVmaW5l
ZCkpKTsKICAgICBpbXAtPm1ldGhvZChsaXN0ZW5lcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25z
dHJ1Y3Rvci5jcHAKaW5kZXggNmU3YzZlMjZiOTRhMTA4ZmJiZDRiMGQwZmU0MmQ4MTQ2MDQ2Nzlj
Yi4uNmY4ZDM1NjRiYTYxNmE0ZTA5NDBkODkzOTIzZDIyZTk1YzgwMjI5ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3Ry
dWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3ROYW1lZENvbnN0cnVjdG9yLmNwcApAQCAtNDksMTQgKzQ5LDE0IEBAIHN0YXRpYyB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yQ2FsbGJh
Y2soY29uc3Qgdjg6CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE5hbWVkQ29uc3RydWN0b3IuQ29u
c3RydWN0b3IiKTsKIAogICAgIGlmICghYXJncy5Jc0NvbnN0cnVjdENhbGwoKSkKLSAgICAgICAg
cmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNh
bm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4iKTsKKyAgICAgICAgcmV0dXJuIHRocm93VHlw
ZUVycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5j
dGlvbi4iKTsKIAogICAgIGlmIChDb25zdHJ1Y3Rvck1vZGU6OmN1cnJlbnQoKSA9PSBDb25zdHJ1
Y3Rvck1vZGU6OldyYXBFeGlzdGluZ09iamVjdCkKICAgICAgICAgcmV0dXJuIGFyZ3MuSG9sZGVy
KCk7CiAKICAgICBGcmFtZSogZnJhbWUgPSBjdXJyZW50RnJhbWUoQmluZGluZ1N0YXRlOjppbnN0
YW5jZSgpKTsKICAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dF
cnJvcihWOFByb3h5OjpSZWZlcmVuY2VFcnJvciwgIlRlc3ROYW1lZENvbnN0cnVjdG9yIGNvbnN0
cnVjdG9yIGFzc29jaWF0ZWQgZnJhbWUgaXMgdW5hdmFpbGFibGUiLCBhcmdzLkdldElzb2xhdGUo
KSk7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFJlZmVyZW5jZUVycm9yLCAiVGVzdE5hbWVk
Q29uc3RydWN0b3IgY29uc3RydWN0b3IgYXNzb2NpYXRlZCBmcmFtZSBpcyB1bmF2YWlsYWJsZSIs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGZyYW1lLT5k
b2N1bWVudCgpOwogCkBAIC02NSw3ICs2NSw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6CiAg
ICAgdG9WOChkb2N1bWVudCwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgaWYgKGFyZ3MuTGVu
Z3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVu
dHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3Vn
aEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIEV4Y2VwdGlvbkNvZGUg
ZWMgPSAwOwogICAgIFNUUklOR19UT19WOFBBUkFNRVRFUl9FWENFUFRJT05fQkxPQ0soVjhQYXJh
bWV0ZXI8Piwgc3RyMSwgTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElz
VW5kZWZpbmVkKSk7CkBAIC04MSw3ICs4MSw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6CiAg
ICAgVjhET01XcmFwcGVyOjpzZXRKU1dyYXBwZXJGb3JBY3RpdmVET01PYmplY3QoaW1wbC5yZWxl
YXNlKCksIHdyYXBwZXIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gd3JhcHBlcjsK
ICAgZmFpbDoKLSAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdl
dElzb2xhdGUoKSk7CisgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29s
YXRlKCkpOwogfQogCiB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gVjhUZXN0
TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5jcHAKaW5k
ZXggZDU4NTA4OTEwNTA1MjU5MDgxMDJmNDBjZjFjZTY5ZDI2OTc3NGQ0NC4uN2IzODBhMDBhNzA5
MTk2MDAwMmFhYzhhOTYyOWY4M2I0NDNjZmU5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmNwcApAQCAtNDcsNyArNDcs
NyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhUZXN0Tm9kZTo6Y29uc3RydWN0b3JDYWxsYmFj
ayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIElOQ19TVEFUUygiRE9NLlRlc3ROb2Rl
LkNvbnN0cnVjdG9yIik7CiAKICAgICBpZiAoIWFyZ3MuSXNDb25zdHJ1Y3RDYWxsKCkpCi0gICAg
ICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiRE9NIG9iamVjdCBjb25zdHJ1Y3Rv
ciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIik7CisgICAgICAgIHJldHVybiB0aHJv
d1R5cGVFcnJvcigiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEg
ZnVuY3Rpb24uIik7CiAKICAgICBpZiAoQ29uc3RydWN0b3JNb2RlOjpjdXJyZW50KCkgPT0gQ29u
c3RydWN0b3JNb2RlOjpXcmFwRXhpc3RpbmdPYmplY3QpCiAgICAgICAgIHJldHVybiBhcmdzLkhv
bGRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0T2JqLmNwcAppbmRleCBiM2Q3NzVlODFkNzBlODA4Y2I4ZjI4Mzg4ZmY0ZTdkOTUy
MzhjMDVkLi40NzA1N2NmZjAzNDBkYmIwZjkwNDU5YjRmYzI5YWE1NDM2MzRjZmViIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2Jq
LmNwcApAQCAtNDQxLDcgKzQ0MSw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXR0
cldpdGhHZXR0ZXJFeGNlcHRpb25BdHRyR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyCiAgICAgRXhj
ZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgaW50IHYgPSBpbXAtPmF0dHJXaXRoR2V0dGVyRXhjZXB0
aW9uKGVjKTsKICAgICBpZiAoVU5MSUtFTFkoZWMpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6
c2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBz
ZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdjhJbnRl
Z2VyKHYsIGluZm8uR2V0SXNvbGF0ZSgpKTsKIH0KIApAQCAtNDUzLDcgKzQ1Myw3IEBAIHN0YXRp
YyB2b2lkIGF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uQXR0clNldHRlcih2ODo6TG9jYWw8djg6OlN0
cmluZz4gbmFtZSwgdjg6OkxvCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgaW1wLT5z
ZXRBdHRyV2l0aEdldHRlckV4Y2VwdGlvbih2LCBlYyk7CiAgICAgaWYgKFVOTElLRUxZKGVjKSkK
LSAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7
CisgICAgICAgIHNldERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOwogICAgIHJl
dHVybjsKIH0KIApAQCAtNDcyLDcgKzQ3Miw3IEBAIHN0YXRpYyB2b2lkIGF0dHJXaXRoU2V0dGVy
RXhjZXB0aW9uQXR0clNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgdjg6OkxvCiAg
ICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgaW1wLT5zZXRBdHRyV2l0aFNldHRlckV4Y2Vw
dGlvbih2LCBlYyk7CiAgICAgaWYgKFVOTElLRUxZKGVjKSkKLSAgICAgICAgVjhQcm94eTo6c2V0
RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CisgICAgICAgIHNldERPTUV4Y2Vw
dGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybjsKIH0KIApAQCAtNDgzLDcg
KzQ4Myw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gc3RyaW5nQXR0cldpdGhHZXR0
ZXJFeGNlcHRpb25BdHRyR2V0dGVyKHY4OjpMb2NhbDx2CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9
IDA7CiAgICAgU3RyaW5nIHYgPSBpbXAtPnN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKGVj
KTsKICAgICBpZiAoVU5MSUtFTFkoZWMpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9N
RXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRET01F
eGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdjhTdHJpbmcodiwg
aW5mby5HZXRJc29sYXRlKCkpOwogfQogCkBAIC00OTUsNyArNDk1LDcgQEAgc3RhdGljIHZvaWQg
c3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb25BdHRyU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3Ry
aW5nPiBuYW1lLAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIGltcC0+c2V0U3RyaW5n
QXR0cldpdGhHZXR0ZXJFeGNlcHRpb24odiwgZWMpOwogICAgIGlmIChVTkxJS0VMWShlYykpCi0g
ICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOwor
ICAgICAgICBzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1
cm47CiB9CiAKQEAgLTUxNCw3ICs1MTQsNyBAQCBzdGF0aWMgdm9pZCBzdHJpbmdBdHRyV2l0aFNl
dHRlckV4Y2VwdGlvbkF0dHJTZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsCiAgICAg
RXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgaW1wLT5zZXRTdHJpbmdBdHRyV2l0aFNldHRlckV4
Y2VwdGlvbih2LCBlYyk7CiAgICAgaWYgKFVOTElLRUxZKGVjKSkKLSAgICAgICAgVjhQcm94eTo6
c2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CisgICAgICAgIHNldERPTUV4
Y2VwdGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybjsKIH0KIApAQCAtNTc0
LDcgKzU3NCw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gd2l0aFNjcmlwdFN0YXRl
QXR0cmlidXRlUmFpc2VzQXR0ckdldHRlcih2ODo6TG9jYWw8CiAgICAgICAgIHJldHVybiB2OFVu
ZGVmaW5lZCgpOwogICAgIFJlZlB0cjxUZXN0T2JqPiB2ID0gaW1wLT53aXRoU2NyaXB0U3RhdGVB
dHRyaWJ1dGVSYWlzZXMoc3RhdGUsIGVjKTsKICAgICBpZiAoVU5MSUtFTFkoZWMpKQotICAgICAg
ICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7
CisgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsK
ICAgICBpZiAoc3RhdGUuaGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiB0aHJvd0Vycm9y
KHN0YXRlLmV4Y2VwdGlvbigpLCBpbmZvLkdldElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHRvVjgo
di5yZWxlYXNlKCksIGluZm8uR2V0SXNvbGF0ZSgpKTsKQEAgLTU5MSw3ICs1OTEsNyBAQCBzdGF0
aWMgdm9pZCB3aXRoU2NyaXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXNBdHRyU2V0dGVyKHY4OjpMb2Nh
bDx2ODo6U3RyaW5nPiBuYW1lLAogICAgICAgICByZXR1cm47CiAgICAgaW1wLT5zZXRXaXRoU2Ny
aXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXMoc3RhdGUsIFdURjo6Z2V0UHRyKHYpLCBlYyk7CiAgICAg
aWYgKFVOTElLRUxZKGVjKSkKLSAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBp
bmZvLkdldElzb2xhdGUoKSk7CisgICAgICAgIHNldERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJ
c29sYXRlKCkpOwogICAgIGlmIChzdGF0ZS5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgdGhyb3dF
cnJvcihzdGF0ZS5leGNlcHRpb24oKSwgaW5mby5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybjsK
QEAgLTYwNyw3ICs2MDcsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHdpdGhTY3Jp
cHRFeGVjdXRpb25Db250ZXh0QXR0cmlidXRlUmFpc2VzQXR0ckdldHRlcgogICAgICAgICByZXR1
cm4gdjhVbmRlZmluZWQoKTsKICAgICBSZWZQdHI8VGVzdE9iaj4gdiA9IGltcC0+d2l0aFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRBdHRyaWJ1dGVSYWlzZXMoc2NyaXB0Q29udGV4dCwgZWMpOwogICAg
IGlmIChVTkxJS0VMWShlYykpCi0gICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRp
b24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlv
bihlYywgaW5mby5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybiB0b1Y4KHYucmVsZWFzZSgpLCBp
bmZvLkdldElzb2xhdGUoKSk7CiB9CiAKQEAgLTYyMiw3ICs2MjIsNyBAQCBzdGF0aWMgdm9pZCB3
aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0ZVJhaXNlc0F0dHJTZXR0ZXIodjg6Okxv
Y2FsPHY4OjpTdAogICAgICAgICByZXR1cm47CiAgICAgaW1wLT5zZXRXaXRoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dEF0dHJpYnV0ZVJhaXNlcyhzY3JpcHRDb250ZXh0LCBXVEY6OmdldFB0cih2KSwg
ZWMpOwogICAgIGlmIChVTkxJS0VMWShlYykpCi0gICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2Vw
dGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOworICAgICAgICBzZXRET01FeGNlcHRpb24oZWMs
IGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm47CiB9CiAKQEAgLTY2OSw3ICs2NjksNyBA
QCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHdpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0
QW5kU2NyaXB0U3RhdGVBdHRyaWJ1dGVSYQogICAgICAgICByZXR1cm4gdjhVbmRlZmluZWQoKTsK
ICAgICBSZWZQdHI8VGVzdE9iaj4gdiA9IGltcC0+d2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRB
bmRTY3JpcHRTdGF0ZUF0dHJpYnV0ZVJhaXNlcyhzdGF0ZSwgc2NyaXB0Q29udGV4dCwgZWMpOwog
ICAgIGlmIChVTkxJS0VMWShlYykpCi0gICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNl
cHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNldERPTUV4Y2Vw
dGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOwogICAgIGlmIChzdGF0ZS5oYWRFeGNlcHRpb24o
KSkKICAgICAgICAgcmV0dXJuIHRocm93RXJyb3Ioc3RhdGUuZXhjZXB0aW9uKCksIGluZm8uR2V0
SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdG9WOCh2LnJlbGVhc2UoKSwgaW5mby5HZXRJc29sYXRl
KCkpOwpAQCAtNjg5LDcgKzY4OSw3IEBAIHN0YXRpYyB2b2lkIHdpdGhTY3JpcHRFeGVjdXRpb25D
b250ZXh0QW5kU2NyaXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXNBdHRyU2V0dGVyKHY4CiAgICAgICAg
IHJldHVybjsKICAgICBpbXAtPnNldFdpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kU2NyaXB0
U3RhdGVBdHRyaWJ1dGVSYWlzZXMoc3RhdGUsIHNjcmlwdENvbnRleHQsIFdURjo6Z2V0UHRyKHYp
LCBlYyk7CiAgICAgaWYgKFVOTElLRUxZKGVjKSkKLSAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhj
ZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CisgICAgICAgIHNldERPTUV4Y2VwdGlvbihl
YywgaW5mby5HZXRJc29sYXRlKCkpOwogICAgIGlmIChzdGF0ZS5oYWRFeGNlcHRpb24oKSkKICAg
ICAgICAgdGhyb3dFcnJvcihzdGF0ZS5leGNlcHRpb24oKSwgaW5mby5HZXRJc29sYXRlKCkpOwog
ICAgIHJldHVybjsKQEAgLTEwODAsNyArMTA4MCw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gdm9pZE1ldGhvZFdpdGhBcmdzQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJn
CiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai52b2lkTWV0aG9kV2l0aEFyZ3MiKTsKICAg
ICBpZiAoYXJncy5MZW5ndGgoKSA8IDMpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05v
dEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJu
IHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogICAgIFRl
c3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgRVhD
RVBUSU9OX0JMT0NLKGxvbmcgbG9uZywgQXJnLCB0b0ludDY0KE1BWUJFX01JU1NJTkdfUEFSQU1F
VEVSKGFyZ3MsIDAsIERlZmF1bHRJc1VuZGVmaW5lZCkpKTsKICAgICBTVFJJTkdfVE9fVjhQQVJB
TUVURVJfRVhDRVBUSU9OX0JMT0NLKFY4UGFyYW1ldGVyPD4sIHN0ckFyZywgTUFZQkVfTUlTU0lO
R19QQVJBTUVURVIoYXJncywgMSwgRGVmYXVsdElzVW5kZWZpbmVkKSk7CkBAIC0xMTAwLDcgKzEx
MDAsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IE1ldGhvZFdpdGhBcmdzQ2FsbGJh
Y2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0
T2JqLk1ldGhvZFdpdGhBcmdzIik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAzKQotICAgICAg
ICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElz
b2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZl
KGFyZ3MuSG9sZGVyKCkpOwogICAgIEVYQ0VQVElPTl9CTE9DSyhsb25nIGxvbmcsIEFyZywgdG9J
bnQ2NChNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQp
KSk7CiAgICAgU1RSSU5HX1RPX1Y4UEFSQU1FVEVSX0VYQ0VQVElPTl9CTE9DSyhWOFBhcmFtZXRl
cjw+LCBzdHJBcmcsIE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDEsIERlZmF1bHRJc1Vu
ZGVmaW5lZCkpOwpAQCAtMTExOSw3ICsxMTE5LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBvYmpNZXRob2RXaXRoQXJnc0NhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MK
IHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLm9iak1ldGhvZFdpdGhBcmdzIik7CiAgICAg
aWYgKGFyZ3MuTGVuZ3RoKCkgPCAzKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RF
bm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0
aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBUZXN0
T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIEVYQ0VQ
VElPTl9CTE9DSyhsb25nIGxvbmcsIEFyZywgdG9JbnQ2NChNQVlCRV9NSVNTSU5HX1BBUkFNRVRF
UihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKSk7CiAgICAgU1RSSU5HX1RPX1Y4UEFSQU1F
VEVSX0VYQ0VQVElPTl9CTE9DSyhWOFBhcmFtZXRlcjw+LCBzdHJBcmcsIE1BWUJFX01JU1NJTkdf
UEFSQU1FVEVSKGFyZ3MsIDEsIERlZmF1bHRJc1VuZGVmaW5lZCkpOwpAQCAtMTEzMSw3ICsxMTMx
LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBtZXRob2RXaXRoU2VxdWVuY2VBcmdD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJgogewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RP
YmoubWV0aG9kV2l0aFNlcXVlbmNlQXJnIik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQot
ICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdz
LkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vy
cm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRv
TmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIEVYQ0VQVElPTl9CTE9DSyhWZWN0b3I8U2NyaXB0
UHJvZmlsZT4sIHNlcXVlbmNlQXJnLCB0b05hdGl2ZUFycmF5PFNjcmlwdFByb2ZpbGU+KE1BWUJF
X01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDAsIERlZmF1bHRJc1VuZGVmaW5lZCkpKTsKICAgICBp
bXAtPm1ldGhvZFdpdGhTZXF1ZW5jZUFyZyhzZXF1ZW5jZUFyZyk7CkBAIC0xMTQyLDcgKzExNDIs
NyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG1ldGhvZFJldHVybmluZ1NlcXVlbmNl
Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cwogewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RP
YmoubWV0aG9kUmV0dXJuaW5nU2VxdWVuY2UiKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEp
Ci0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRz
RXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6
dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgRVhDRVBUSU9OX0JMT0NLKGxvbmcgbG9uZywg
QXJnLCB0b0ludDY0KE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDAsIERlZmF1bHRJc1Vu
ZGVmaW5lZCkpKTsKICAgICByZXR1cm4gdjhBcnJheShpbXAtPm1ldGhvZFJldHVybmluZ1NlcXVl
bmNlKEFyZyksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKQEAgLTExNTIsNyArMTE1Miw3IEBAIHN0YXRp
YyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gbWV0aG9kVGhhdFJlcXVpcmVzQWxsQXJnc0FuZFRocm93
c0NhbGxiYWNrKGNvbnN0IHY4CiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5tZXRob2RU
aGF0UmVxdWlyZXNBbGxBcmdzQW5kVGhyb3dzIik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAy
KQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihh
cmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50
c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6
OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAg
IHsKQEAgLTExNjQsMTQgKzExNjQsMTQgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBt
ZXRob2RUaGF0UmVxdWlyZXNBbGxBcmdzQW5kVGhyb3dzQ2FsbGJhY2soY29uc3QgdjgKICAgICBy
ZXR1cm4gdG9WOChyZXN1bHQucmVsZWFzZSgpLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgfQog
ICAgIGZhaWw6Ci0gICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5H
ZXRJc29sYXRlKCkpOworICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKIH0KIAogc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBzZXJpYWxpemVkVmFs
dWVDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewogICAgIElOQ19TVEFUUygi
RE9NLlRlc3RPYmouc2VyaWFsaXplZFZhbHVlIik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAx
KQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihh
cmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50
c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6
OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIGJvb2wgc2VyaWFsaXplZEFyZ0RpZFRocm93
ID0gZmFsc2U7CiAgICAgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gc2VyaWFsaXplZEFy
ZyA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKGFyZ3NbMF0sIDAsIDAsIHNlcmlhbGl6
ZWRBcmdEaWRUaHJvdywgYXJncy5HZXRJc29sYXRlKCkpOwpAQCAtMTE4NSw3ICsxMTg1LDcgQEAg
c3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBpZGJLZXlDYWxsYmFjayhjb25zdCB2ODo6QXJn
dW1lbnRzJiBhcmdzKQogewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmouaWRiS2V5Iik7CiAg
ICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dO
b3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVy
biB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBU
ZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIEVY
Q0VQVElPTl9CTE9DSyhSZWZQdHI8SURCS2V5Piwga2V5LCBjcmVhdGVJREJLZXlGcm9tVmFsdWUo
TUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkpOwog
ICAgIGltcC0+aWRiS2V5KGtleS5nZXQoKSk7CkBAIC0xMTk2LDE4ICsxMTk2LDE4IEBAIHN0YXRp
YyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gb3B0aW9uc09iamVjdENhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmIGFyZ3MpCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5vcHRpb25zT2Jq
ZWN0Iik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94
eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAg
ICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkp
OwogICAgIEVYQ0VQVElPTl9CTE9DSyhEaWN0aW9uYXJ5LCBvbywgRGljdGlvbmFyeShNQVlCRV9N
SVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpLCBhcmdzLkdldElz
b2xhdGUoKSkpOwogICAgIGlmICghb28uaXNVbmRlZmluZWRPck51bGwoKSAmJiAhb28uaXNPYmpl
Y3QoKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJOb3QgYW4gb2Jq
ZWN0LiIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9y
KCJOb3QgYW4gb2JqZWN0LiIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBpZiAoYXJncy5MZW5n
dGgoKSA8PSAxKSB7CiAgICAgICAgIGltcC0+b3B0aW9uc09iamVjdChvbyk7CiAgICAgICAgIHJl
dHVybiB2OFVuZGVmaW5lZCgpOwogICAgIH0KICAgICBFWENFUFRJT05fQkxPQ0soRGljdGlvbmFy
eSwgb29vLCBEaWN0aW9uYXJ5KE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDEsIERlZmF1
bHRJc1VuZGVmaW5lZCksIGFyZ3MuR2V0SXNvbGF0ZSgpKSk7CiAgICAgaWYgKCFvb28uaXNVbmRl
ZmluZWRPck51bGwoKSAmJiAhb29vLmlzT2JqZWN0KCkpCi0gICAgICAgIHJldHVybiBWOFByb3h5
Ojp0aHJvd1R5cGVFcnJvcigiTm90IGFuIG9iamVjdC4iLCBhcmdzLkdldElzb2xhdGUoKSk7Cisg
ICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigiTm90IGFuIG9iamVjdC4iLCBhcmdzLkdldElz
b2xhdGUoKSk7CiAgICAgaW1wLT5vcHRpb25zT2JqZWN0KG9vLCBvb28pOwogICAgIHJldHVybiB2
OFVuZGVmaW5lZCgpOwogfQpAQCAtMTIyNCw3ICsxMjI0LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBtZXRob2RXaXRoRXhjZXB0aW9uQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50
cyYgYXIKICAgICByZXR1cm4gdjhVbmRlZmluZWQoKTsKICAgICB9CiAgICAgZmFpbDoKLSAgICBy
ZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7Cisg
ICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogfQogCiBz
dGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFkZEV2ZW50TGlzdGVuZXJDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJiBhcmdzKQpAQCAtMTI4Niw3ICsxMjg2LDcgQEAgc3RhdGljIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiB3aXRoU2NyaXB0U3RhdGVWb2lkRXhjZXB0aW9uQ2FsbGJhY2soY29u
c3Qgdjg6OkFyZ3UKICAgICByZXR1cm4gdjhVbmRlZmluZWQoKTsKICAgICB9CiAgICAgZmFpbDoK
LSAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUo
KSk7CisgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwog
fQogCiBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHdpdGhTY3JpcHRTdGF0ZU9iakV4Y2Vw
dGlvbkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCkBAIC0xMzA0LDcgKzEzMDQs
NyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHdpdGhTY3JpcHRTdGF0ZU9iakV4Y2Vw
dGlvbkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bQogICAgIHJldHVybiB0b1Y4KHJlc3VsdC5yZWxl
YXNlKCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICB9CiAgICAgZmFpbDoKLSAgICByZXR1cm4g
VjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgcmV0
dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogfQogCiBzdGF0aWMg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IHdpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0Q2FsbGJhY2so
Y29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKQEAgLTEzNTAsNyArMTM1MCw3IEBAIHN0YXRpYyB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gd2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRT
dGF0ZU9iakV4Y2VwdGlvCiAgICAgcmV0dXJuIHRvVjgocmVzdWx0LnJlbGVhc2UoKSwgYXJncy5H
ZXRJc29sYXRlKCkpOwogICAgIH0KICAgICBmYWlsOgotICAgIHJldHVybiBWOFByb3h5OjpzZXRE
T01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICByZXR1cm4gc2V0RE9NRXhj
ZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiB9CiAKIHN0YXRpYyB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gd2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZVdpdGhTcGFj
ZXNDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQpAQCAtMTM5Niw3ICsxMzk2LDcg
QEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBtZXRob2RXaXRoTm9uT3B0aW9uYWxBcmdB
bmRPcHRpb25hbEFyZ0NhbGxiYWNrKGNvbnMKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2Jq
Lm1ldGhvZFdpdGhOb25PcHRpb25hbEFyZ0FuZE9wdGlvbmFsQXJnIik7CiAgICAgaWYgKGFyZ3Mu
TGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1
bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVu
b3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBUZXN0T2JqKiBpbXAg
PSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIEVYQ0VQVElPTl9CTE9D
SyhpbnQsIG5vbk9wdCwgdG9JbnQzMihNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBE
ZWZhdWx0SXNVbmRlZmluZWQpKSk7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPD0gMSkgewpAQCAt
MTQxMiw3ICsxNDEyLDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBtZXRob2RXaXRo
Tm9uT3B0aW9uYWxBcmdBbmRUd29PcHRpb25hbEFyZ3NDYWxsYmFjaygKIHsKICAgICBJTkNfU1RB
VFMoIkRPTS5UZXN0T2JqLm1ldGhvZFdpdGhOb25PcHRpb25hbEFyZ0FuZFR3b09wdGlvbmFsQXJn
cyIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6
OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAg
ICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7
CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsK
ICAgICBFWENFUFRJT05fQkxPQ0soaW50LCBub25PcHQsIHRvSW50MzIoTUFZQkVfTUlTU0lOR19Q
QVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkpOwogICAgIGlmIChhcmdzLkxl
bmd0aCgpIDw9IDEpIHsKQEAgLTE0NjQsMTAgKzE0NjQsMTAgQEAgc3RhdGljIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBtZXRob2RXaXRoQ2FsbGJhY2tBcmdDYWxsYmFjayhjb25zdCB2ODo6QXJndW1l
bnRzJgogewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmoubWV0aG9kV2l0aENhbGxiYWNrQXJn
Iik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6
dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAg
IHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsK
ICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwog
ICAgIGlmIChhcmdzLkxlbmd0aCgpIDw9IDAgfHwgIWFyZ3NbMF0tPklzRnVuY3Rpb24oKSkKLSAg
ICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENIX0VSUiwg
YXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKFRZUEVf
TUlTTUFUQ0hfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgUmVmUHRyPFRlc3RDYWxsYmFj
az4gY2FsbGJhY2sgPSBWOFRlc3RDYWxsYmFjazo6Y3JlYXRlKGFyZ3NbMF0sIGdldFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgaW1wLT5tZXRob2RXaXRoQ2FsbGJhY2tBcmcoY2FsbGJh
Y2spOwogICAgIHJldHVybiB2OFVuZGVmaW5lZCgpOwpAQCAtMTQ3NywxMSArMTQ3NywxMSBAQCBz
dGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG1ldGhvZFdpdGhOb25DYWxsYmFja0FyZ0FuZENh
bGxiYWNrQXJnQ2FsbGJhY2soY29ucwogewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmoubWV0
aG9kV2l0aE5vbkNhbGxiYWNrQXJnQW5kQ2FsbGJhY2tBcmciKTsKICAgICBpZiAoYXJncy5MZW5n
dGgoKSA8IDIpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50
c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdo
QXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogICAgIFRlc3RPYmoqIGltcCA9IFY4
VGVzdE9iajo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgRVhDRVBUSU9OX0JMT0NLKGlu
dCwgbm9uQ2FsbGJhY2ssIHRvSW50MzIoTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwg
RGVmYXVsdElzVW5kZWZpbmVkKSkpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDw9IDEgfHwgIWFy
Z3NbMV0tPklzRnVuY3Rpb24oKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2Vw
dGlvbihUWVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1
cm4gc2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7
CiAgICAgUmVmUHRyPFRlc3RDYWxsYmFjaz4gY2FsbGJhY2sgPSBWOFRlc3RDYWxsYmFjazo6Y3Jl
YXRlKGFyZ3NbMV0sIGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgaW1wLT5tZXRo
b2RXaXRoTm9uQ2FsbGJhY2tBcmdBbmRDYWxsYmFja0FyZyhub25DYWxsYmFjaywgY2FsbGJhY2sp
OwogICAgIHJldHVybiB2OFVuZGVmaW5lZCgpOwpAQCAtMTQ5NCw3ICsxNDk0LDcgQEAgc3RhdGlj
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBtZXRob2RXaXRoQ2FsbGJhY2tBbmRPcHRpb25hbEFyZ0Nh
bGxiYWNrKGNvbnN0IHY4OjoKICAgICBSZWZQdHI8VGVzdENhbGxiYWNrPiBjYWxsYmFjazsKICAg
ICBpZiAoYXJncy5MZW5ndGgoKSA+IDAgJiYgIWFyZ3NbMF0tPklzTnVsbCgpICYmICFhcmdzWzBd
LT5Jc1VuZGVmaW5lZCgpKSB7CiAgICAgICAgIGlmICghYXJnc1swXS0+SXNGdW5jdGlvbigpKQot
ICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENI
X0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICAgICAgcmV0dXJuIHNldERPTUV4Y2Vw
dGlvbihUWVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICBjYWxs
YmFjayA9IFY4VGVzdENhbGxiYWNrOjpjcmVhdGUoYXJnc1swXSwgZ2V0U2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpKTsKICAgICB9CiAgICAgaW1wLT5tZXRob2RXaXRoQ2FsbGJhY2tBbmRPcHRpb25h
bEFyZyhjYWxsYmFjayk7CkBAIC0xNTQwLDcgKzE1NDAsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IG92ZXJsb2FkZWRNZXRob2QxQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYg
YXJncwogewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmoub3ZlcmxvYWRlZE1ldGhvZDEiKTsK
ICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDIpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJv
d05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0
dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogICAg
IFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAg
RVhDRVBUSU9OX0JMT0NLKFRlc3RPYmoqLCBvYmpBcmcsIFY4VGVzdE9iajo6SGFzSW5zdGFuY2Uo
TUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkgPyBW
OFRlc3RPYmo6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoTUFZQkVfTUlT
U0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkpIDogMCk7CiAgICAg
U1RSSU5HX1RPX1Y4UEFSQU1FVEVSX0VYQ0VQVElPTl9CTE9DSyhWOFBhcmFtZXRlcjw+LCBzdHJB
cmcsIE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDEsIERlZmF1bHRJc1VuZGVmaW5lZCkp
OwpAQCAtMTU1Miw3ICsxNTUyLDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBvdmVy
bG9hZGVkTWV0aG9kMkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MKIHsKICAgICBJ
TkNfU1RBVFMoIkRPTS5UZXN0T2JqLm92ZXJsb2FkZWRNZXRob2QyIik7CiAgICAgaWYgKGFyZ3Mu
TGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1
bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVu
b3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBUZXN0T2JqKiBpbXAg
PSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIEVYQ0VQVElPTl9CTE9D
SyhUZXN0T2JqKiwgb2JqQXJnLCBWOFRlc3RPYmo6Okhhc0luc3RhbmNlKE1BWUJFX01JU1NJTkdf
UEFSQU1FVEVSKGFyZ3MsIDAsIERlZmF1bHRJc1VuZGVmaW5lZCkpID8gVjhUZXN0T2JqOjp0b05h
dGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KE1BWUJFX01JU1NJTkdfUEFSQU1FVEVS
KGFyZ3MsIDAsIERlZmF1bHRJc1VuZGVmaW5lZCkpKSA6IDApOwogICAgIGlmIChhcmdzLkxlbmd0
aCgpIDw9IDEpIHsKQEAgLTE1NjgsNyArMTU2OCw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gb3ZlcmxvYWRlZE1ldGhvZDNDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdz
CiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5vdmVybG9hZGVkTWV0aG9kMyIpOwogICAg
IGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90
RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4g
dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgVGVz
dE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBTVFJJ
TkdfVE9fVjhQQVJBTUVURVJfRVhDRVBUSU9OX0JMT0NLKFY4UGFyYW1ldGVyPD4sIHN0ckFyZywg
TUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSk7CiAg
ICAgaW1wLT5vdmVybG9hZGVkTWV0aG9kKHN0ckFyZyk7CkBAIC0xNTc5LDcgKzE1NzksNyBAQCBz
dGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG92ZXJsb2FkZWRNZXRob2Q0Q2FsbGJhY2soY29u
c3Qgdjg6OkFyZ3VtZW50cyYgYXJncwogewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmoub3Zl
cmxvYWRlZE1ldGhvZDQiKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAgIHJl
dHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5H
ZXRJc29sYXRlKCkpOwogICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoYXJn
cy5Ib2xkZXIoKSk7CiAgICAgRVhDRVBUSU9OX0JMT0NLKGxvbmcgbG9uZywgQXJnLCB0b0ludDY0
KE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDAsIERlZmF1bHRJc1VuZGVmaW5lZCkpKTsK
ICAgICBpbXAtPm92ZXJsb2FkZWRNZXRob2QoQXJnKTsKQEAgLTE1OTAsMTAgKzE1OTAsMTAgQEAg
c3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBvdmVybG9hZGVkTWV0aG9kNUNhbGxiYWNrKGNv
bnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLm92
ZXJsb2FkZWRNZXRob2Q1Iik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICBy
ZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xh
dGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFy
Z3MuSG9sZGVyKCkpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDw9IDAgfHwgIWFyZ3NbMF0tPklz
RnVuY3Rpb24oKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihUWVBF
X01JU01BVENIX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9N
RXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgUmVm
UHRyPFRlc3RDYWxsYmFjaz4gY2FsbGJhY2sgPSBWOFRlc3RDYWxsYmFjazo6Y3JlYXRlKGFyZ3Nb
MF0sIGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgaW1wLT5vdmVybG9hZGVkTWV0
aG9kKGNhbGxiYWNrKTsKICAgICByZXR1cm4gdjhVbmRlZmluZWQoKTsKQEAgLTE2MDMsNyArMTYw
Myw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gb3ZlcmxvYWRlZE1ldGhvZDZDYWxs
YmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVz
dE9iai5vdmVybG9hZGVkTWV0aG9kNiIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAg
ICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5H
ZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJv
cihhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05h
dGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBFWENFUFRJT05fQkxPQ0soUmVmUHRyPERPTVN0cmlu
Z0xpc3Q+LCBsaXN0QXJnLCB2OFZhbHVlVG9XZWJDb3JlRE9NU3RyaW5nTGlzdChNQVlCRV9NSVNT
SU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKSk7CiAgICAgaW1wLT5v
dmVybG9hZGVkTWV0aG9kKGxpc3RBcmcpOwpAQCAtMTYxNCw3ICsxNjE0LDcgQEAgc3RhdGljIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBvdmVybG9hZGVkTWV0aG9kN0NhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmIGFyZ3MKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLm92ZXJsb2FkZWRN
ZXRob2Q3Iik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQ
cm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7Cisg
ICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVy
KCkpOwogICAgIEVYQ0VQVElPTl9CTE9DSyhSZWZQdHI8RE9NU3RyaW5nTGlzdD4sIGFycmF5QXJn
LCB2OFZhbHVlVG9XZWJDb3JlRE9NU3RyaW5nTGlzdChNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihh
cmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKSk7CiAgICAgaW1wLT5vdmVybG9hZGVkTWV0aG9k
KGFycmF5QXJnKTsKQEAgLTE2MjUsNyArMTYyNSw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gb3ZlcmxvYWRlZE1ldGhvZDhDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdz
CiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5vdmVybG9hZGVkTWV0aG9kOCIpOwogICAg
IGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90
RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4g
dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgVGVz
dE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBFWENF
UFRJT05fQkxPQ0soVGVzdE9iaiosIG9iakFyZywgVjhUZXN0T2JqOjpIYXNJbnN0YW5jZShNQVlC
RV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKSA/IFY4VGVz
dE9iajo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChNQVlCRV9NSVNTSU5H
X1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKSkgOiAwKTsKICAgICBpbXAt
Pm92ZXJsb2FkZWRNZXRob2Qob2JqQXJnKTsKQEAgLTE2MzYsNyArMTYzNiw3IEBAIHN0YXRpYyB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gb3ZlcmxvYWRlZE1ldGhvZDlDYWxsYmFjayhjb25zdCB2ODo6
QXJndW1lbnRzJiBhcmdzCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5vdmVybG9hZGVk
TWV0aG9kOSIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4
UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwor
ICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xh
dGUoKSk7CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShhcmdzLkhvbGRl
cigpKTsKICAgICBFWENFUFRJT05fQkxPQ0soUmVmUHRyPERPTVN0cmluZ0xpc3Q+LCBhcnJheUFy
ZywgdjhWYWx1ZVRvV2ViQ29yZURPTVN0cmluZ0xpc3QoTUFZQkVfTUlTU0lOR19QQVJBTUVURVIo
YXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkpOwogICAgIGltcC0+b3ZlcmxvYWRlZE1ldGhv
ZChhcnJheUFyZyk7CkBAIC0xNjQ3LDcgKzE2NDcsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IG92ZXJsb2FkZWRNZXRob2QxMENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFy
ZwogewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmoub3ZlcmxvYWRlZE1ldGhvZDEwIik7CiAg
ICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dO
b3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVy
biB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBU
ZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIEVY
Q0VQVElPTl9CTE9DSyhWZWN0b3I8dW5zaWduZWQgbG9uZz4sIGFycmF5QXJnLCB0b05hdGl2ZUFy
cmF5PHVuc2lnbmVkIGxvbmc+KE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDAsIERlZmF1
bHRJc1VuZGVmaW5lZCkpKTsKICAgICBpbXAtPm92ZXJsb2FkZWRNZXRob2QoYXJyYXlBcmcpOwpA
QCAtMTY3Nyw3ICsxNjc3LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBvdmVybG9h
ZGVkTWV0aG9kQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICAgICAgcmV0
dXJuIG92ZXJsb2FkZWRNZXRob2Q5Q2FsbGJhY2soYXJncyk7CiAgICAgaWYgKChhcmdzLkxlbmd0
aCgpID09IDEgJiYgKGFyZ3NbMF0tPklzQXJyYXkoKSkpKQogICAgICAgICByZXR1cm4gb3Zlcmxv
YWRlZE1ldGhvZDEwQ2FsbGJhY2soYXJncyk7Ci0gICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlw
ZUVycm9yKDAsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3Io
MCwgYXJncy5HZXRJc29sYXRlKCkpOwogfQogCiBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IGNsYXNzTWV0aG9kQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKQEAgLTE3MDMs
NyArMTcwMyw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gb3ZlcmxvYWRlZE1ldGhv
ZDExQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJnCiB7CiAgICAgSU5DX1NUQVRTKCJE
T00uVGVzdE9iai5vdmVybG9hZGVkTWV0aG9kMTEiKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8
IDEpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9y
KGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1l
bnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogICAgIEVYQ0VQVElPTl9CTE9DSyhpbnQsIGFy
ZywgdG9JbnQzMihNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRl
ZmluZWQpKSk7CiAgICAgVGVzdE9iajo6b3ZlcmxvYWRlZE1ldGhvZDEoYXJnKTsKICAgICByZXR1
cm4gdjhVbmRlZmluZWQoKTsKQEAgLTE3MTcsNyArMTcxNyw3IEBAIHN0YXRpYyB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gb3ZlcmxvYWRlZE1ldGhvZDEyQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50
cyYgYXJnCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5vdmVybG9hZGVkTWV0aG9kMTIi
KTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0
aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAg
cmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwog
ICAgIFNUUklOR19UT19WOFBBUkFNRVRFUl9FWENFUFRJT05fQkxPQ0soVjhQYXJhbWV0ZXI8Piwg
dHlwZSwgTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVk
KSk7CiAgICAgVGVzdE9iajo6b3ZlcmxvYWRlZE1ldGhvZDEodHlwZSk7CiAgICAgcmV0dXJuIHY4
VW5kZWZpbmVkKCk7CkBAIC0xNzM0LDcgKzE3MzQsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IG92ZXJsb2FkZWRNZXRob2QxQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJn
cwogICAgICAgICByZXR1cm4gb3ZlcmxvYWRlZE1ldGhvZDExQ2FsbGJhY2soYXJncyk7CiAgICAg
aWYgKChhcmdzLkxlbmd0aCgpID09IDEgJiYgKGFyZ3NbMF0tPklzTnVsbCgpIHx8IGFyZ3NbMF0t
PklzVW5kZWZpbmVkKCkgfHwgYXJnc1swXS0+SXNTdHJpbmcoKSB8fCBhcmdzWzBdLT5Jc09iamVj
dCgpKSkpCiAgICAgICAgIHJldHVybiBvdmVybG9hZGVkTWV0aG9kMTJDYWxsYmFjayhhcmdzKTsK
LSAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoMCwgYXJncy5HZXRJc29sYXRlKCkp
OworICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7CiB9CiAK
ICNlbmRpZiAvLyBFTkFCTEUoQ29uZGl0aW9uMSkKQEAgLTE3NDMsNyArMTc0Myw3IEBAIHN0YXRp
YyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY2xhc3NNZXRob2RXaXRoQ2xhbXBDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJiBhCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5jbGFzc01l
dGhvZFdpdGhDbGFtcCIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMikKLSAgICAgICAgcmV0
dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRl
KCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdl
dElzb2xhdGUoKSk7CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShhcmdz
LkhvbGRlcigpKTsKICAgICB1bnNpZ25lZCBzaG9ydCBvYmpBcmdzU2hvcnQgPSAwOwogICAgIEVY
Q0VQVElPTl9CTE9DSyhkb3VibGUsIG9iakFyZ3NTaG9ydE5hdGl2ZVZhbHVlLCBhcmdzWzBdLT5O
dW1iZXJWYWx1ZSgpKTsKQEAgLTE3NjEsNyArMTc2MSw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gZW5hYmxlZEF0UnVudGltZU1ldGhvZDFDYWxsYmFjayhjb25zdCB2ODo6QXJndW1l
bnRzCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5lbmFibGVkQXRSdW50aW1lTWV0aG9k
MSIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6
OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAg
ICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7
CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsK
ICAgICBFWENFUFRJT05fQkxPQ0sobG9uZyBsb25nLCBBcmcsIHRvSW50NjQoTUFZQkVfTUlTU0lO
R19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkpOwogICAgIGltcC0+ZW5h
YmxlZEF0UnVudGltZU1ldGhvZDEoQXJnKTsKQEAgLTE3NzIsNyArMTc3Miw3IEBAIHN0YXRpYyB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZW5hYmxlZEF0UnVudGltZU1ldGhvZDJDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5lbmFibGVkQXRS
dW50aW1lTWV0aG9kMiIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0
dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRl
KCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdl
dElzb2xhdGUoKSk7CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShhcmdz
LkhvbGRlcigpKTsKICAgICBFWENFUFRJT05fQkxPQ0sobG9uZyBsb25nLCBBcmcsIHRvSW50NjQo
TUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkpOwog
ICAgIGltcC0+ZW5hYmxlZEF0UnVudGltZU1ldGhvZDIoQXJnKTsKQEAgLTE3ODMsNyArMTc4Myw3
IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZW5hYmxlZFBlckNvbnRleHRNZXRob2Qx
Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50CiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9i
ai5lbmFibGVkUGVyQ29udGV4dE1ldGhvZDEiKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEp
Ci0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRz
RXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6
dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgRVhDRVBUSU9OX0JMT0NLKGxvbmcgbG9uZywg
QXJnLCB0b0ludDY0KE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDAsIERlZmF1bHRJc1Vu
ZGVmaW5lZCkpKTsKICAgICBpbXAtPmVuYWJsZWRQZXJDb250ZXh0TWV0aG9kMShBcmcpOwpAQCAt
MTc5NCw3ICsxNzk0LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBlbmFibGVkUGVy
Q29udGV4dE1ldGhvZDJDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnQKIHsKICAgICBJTkNfU1RB
VFMoIkRPTS5UZXN0T2JqLmVuYWJsZWRQZXJDb250ZXh0TWV0aG9kMiIpOwogICAgIGlmIChhcmdz
Lkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJn
dW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RF
bm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgVGVzdE9iaiogaW1w
ID0gVjhUZXN0T2JqOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBFWENFUFRJT05fQkxP
Q0sobG9uZyBsb25nLCBBcmcsIHRvSW50NjQoTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywg
MCwgRGVmYXVsdElzVW5kZWZpbmVkKSkpOwogICAgIGltcC0+ZW5hYmxlZFBlckNvbnRleHRNZXRo
b2QyKEFyZyk7CkBAIC0xODA1LDcgKzE4MDUsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IHN0cmluZ0FycmF5RnVuY3Rpb25DYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcgog
ewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmouc3RyaW5nQXJyYXlGdW5jdGlvbiIpOwogICAg
IGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90
RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4g
dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgVGVz
dE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBFeGNl
cHRpb25Db2RlIGVjID0gMDsKICAgICB7CkBAIC0xODE2LDcgKzE4MTYsNyBAQCBzdGF0aWMgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IHN0cmluZ0FycmF5RnVuY3Rpb25DYWxsYmFjayhjb25zdCB2ODo6
QXJndW1lbnRzJiBhcgogICAgIHJldHVybiB2OEFycmF5KHJlc3VsdC5yZWxlYXNlKCksIGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKICAgICB9CiAgICAgZmFpbDoKLSAgICByZXR1cm4gVjhQcm94eTo6c2V0
RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgcmV0dXJuIHNldERPTUV4
Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogfQogCiBzdGF0aWMgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IGdldFNWR0RvY3VtZW50Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJn
cykKQEAgLTE4MzMsMTQgKzE4MzMsMTQgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBn
ZXRTVkdEb2N1bWVudENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgcmV0
dXJuIHRvVjgocmVzdWx0LnJlbGVhc2UoKSwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIH0KICAg
ICBmYWlsOgotICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKKyAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xh
dGUoKSk7CiB9CiAKIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY29udmVydDFDYWxsYmFj
ayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RP
YmouY29udmVydDEiKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVy
biBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJ
c29sYXRlKCkpOwogICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoYXJncy5I
b2xkZXIoKSk7CiAgICAgRVhDRVBUSU9OX0JMT0NLKGEqLCAsIFY4YTo6SGFzSW5zdGFuY2UoTUFZ
QkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkgPyBWOGE6
OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoTUFZQkVfTUlTU0lOR19QQVJB
TUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkpIDogMCk7CiAgICAgaW1wLT5jb252
ZXJ0MSgpOwpAQCAtMTg1MSw3ICsxODUxLDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBjb252ZXJ0MkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7CiAgICAgSU5D
X1NUQVRTKCJET00uVGVzdE9iai5jb252ZXJ0MiIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwg
MSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3Io
YXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVu
dHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2Jq
Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBFWENFUFRJT05fQkxPQ0soYiosICwgVjhi
OjpIYXNJbnN0YW5jZShNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNV
bmRlZmluZWQpKSA/IFY4Yjo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChN
QVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKSkgOiAw
KTsKICAgICBpbXAtPmNvbnZlcnQyKCk7CkBAIC0xODYyLDcgKzE4NjIsNyBAQCBzdGF0aWMgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnZlcnQzQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYg
YXJncykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLmNvbnZlcnQzIik7CiAgICAgaWYg
KGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91
Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJv
d05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBUZXN0T2Jq
KiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIEVYQ0VQVElP
Tl9CTE9DSyhjKiwgLCBWOGM6Okhhc0luc3RhbmNlKE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFy
Z3MsIDAsIERlZmF1bHRJc1VuZGVmaW5lZCkpID8gVjhjOjp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+OjpDYXN0KE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDAsIERlZmF1bHRJ
c1VuZGVmaW5lZCkpKSA6IDApOwogICAgIGltcC0+Y29udmVydDMoKTsKQEAgLTE4NzMsNyArMTg3
Myw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY29udmVydDRDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmouY29u
dmVydDQiKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVybiBWOFBy
b3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAg
ICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRl
KCkpOwogICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoYXJncy5Ib2xkZXIo
KSk7CiAgICAgRVhDRVBUSU9OX0JMT0NLKGQqLCAsIFY4ZDo6SGFzSW5zdGFuY2UoTUFZQkVfTUlT
U0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkgPyBWOGQ6OnRvTmF0
aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoTUFZQkVfTUlTU0lOR19QQVJBTUVURVIo
YXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkpIDogMCk7CiAgICAgaW1wLT5jb252ZXJ0NCgp
OwpAQCAtMTg4NCw3ICsxODg0LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjb252
ZXJ0NUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7CiAgICAgSU5DX1NUQVRT
KCJET00uVGVzdE9iai5jb252ZXJ0NSIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAg
ICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5H
ZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJv
cihhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05h
dGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBFWENFUFRJT05fQkxPQ0soZSosICwgVjhlOjpIYXNJ
bnN0YW5jZShNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmlu
ZWQpKSA/IFY4ZTo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChNQVlCRV9N
SVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKSkgOiAwKTsKICAg
ICBpbXAtPmNvbnZlcnQ1KCk7CkBAIC0xOTE3LDcgKzE5MTcsNyBAQCBzdGF0aWMgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHN0cmljdEZ1bmN0aW9uQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYg
YXJncykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLnN0cmljdEZ1bmN0aW9uIik7CiAg
ICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAzKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dO
b3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVy
biB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBU
ZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIEV4
Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIHsKQEAgLTE5MzAsNyArMTkzMCw3IEBAIHN0YXRpYyB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gc3RyaWN0RnVuY3Rpb25DYWxsYmFjayhjb25zdCB2ODo6QXJn
dW1lbnRzJiBhcmdzKQogICAgIHJldHVybiB0b1Y4KHJlc3VsdC5yZWxlYXNlKCksIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKICAgICB9CiAgICAgZmFpbDoKLSAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9N
RXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgcmV0dXJuIHNldERPTUV4Y2Vw
dGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0T2Jq
VjhJbnRlcm5hbApAQCAtMjE1NCwxNCArMjE1NCwxNCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
VjhUZXN0T2JqOjpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3Mp
CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5Db25zdHJ1Y3RvciIpOwogCiAgICAgaWYgKCFh
cmdzLklzQ29uc3RydWN0Q2FsbCgpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBl
RXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0
aW9uLiIpOworICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkRPTSBvYmplY3QgY29uc3Ry
dWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIpOwogCiAgICAgaWYgKENvbnN0
cnVjdG9yTW9kZTo6Y3VycmVudCgpID09IENvbnN0cnVjdG9yTW9kZTo6V3JhcEV4aXN0aW5nT2Jq
ZWN0KQogICAgICAgICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKICAgICBpZiAoYXJncy5MZW5ndGgo
KSA8IDEpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vy
cm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJn
dW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDw9
IDAgfHwgIWFyZ3NbMF0tPklzRnVuY3Rpb24oKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNl
dERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOworICAg
ICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdldElz
b2xhdGUoKSk7CiAgICAgUmVmUHRyPFRlc3RDYWxsYmFjaz4gdGVzdENhbGxiYWNrID0gVjhUZXN0
Q2FsbGJhY2s6OmNyZWF0ZShhcmdzWzBdLCBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwog
CiAgICAgUmVmUHRyPFRlc3RPYmo+IGltcGwgPSBUZXN0T2JqOjpjcmVhdGUodGVzdENhbGxiYWNr
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZS5jcHAKaW5kZXggYTYxYzhhZWNhYTU2MjNhODliY2RhOGY0YWFhMWMwYjU2NThiODZiMC4u
NzFmMGEzNzhiMTNjY2FkYTU3NzY4Yzg2NjI1ODhkMzQ3OGMyYzQ1OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKQEAgLTEy
NCwxMyArMTI0LDEzIEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYWNjZXB0VHJhbnNm
ZXJMaXN0Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJnCiB7CiAgICAgSU5DX1NUQVRT
KCJET00uVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5hY2NlcHRUcmFuc2Zlckxp
c3QiKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVybiBWOFByb3h5
Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAg
ICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkp
OwogICAgIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UqIGltcCA9IFY4VGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAg
ICAgTWVzc2FnZVBvcnRBcnJheSBtZXNzYWdlUG9ydEFycmF5VHJhbnNmZXJMaXN0OwogICAgIEFy
cmF5QnVmZmVyQXJyYXkgYXJyYXlCdWZmZXJBcnJheVRyYW5zZmVyTGlzdDsKICAgICBpZiAoYXJn
cy5MZW5ndGgoKSA+IDEpIHsKICAgICAgICAgaWYgKCFleHRyYWN0VHJhbnNmZXJhYmxlcyhhcmdz
WzFdLCBtZXNzYWdlUG9ydEFycmF5VHJhbnNmZXJMaXN0LCBhcnJheUJ1ZmZlckFycmF5VHJhbnNm
ZXJMaXN0LCBhcmdzLkdldElzb2xhdGUoKSkpCi0gICAgICAgICAgICByZXR1cm4gVjhQcm94eTo6
dGhyb3dUeXBlRXJyb3IoIkNvdWxkIG5vdCBleHRyYWN0IHRyYW5zZmVyYWJsZXMiKTsKKyAgICAg
ICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigiQ291bGQgbm90IGV4dHJhY3QgdHJhbnNmZXJh
YmxlcyIpOwogICAgIH0KICAgICBib29sIGRhdGFEaWRUaHJvdyA9IGZhbHNlOwogICAgIFJlZlB0
cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGRhdGEgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNy
ZWF0ZShhcmdzWzBdLCAmbWVzc2FnZVBvcnRBcnJheVRyYW5zZmVyTGlzdCwgJmFycmF5QnVmZmVy
QXJyYXlUcmFuc2Zlckxpc3QsIGRhdGFEaWRUaHJvdywgYXJncy5HZXRJc29sYXRlKCkpOwpAQCAt
MTU2LDcgKzE1Niw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gbXVsdGlUcmFuc2Zl
ckxpc3RDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzCiAgICAgQXJyYXlCdWZmZXJB
cnJheSBhcnJheUJ1ZmZlckFycmF5VHg7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAxKSB7CiAg
ICAgICAgIGlmICghZXh0cmFjdFRyYW5zZmVyYWJsZXMoYXJnc1sxXSwgbWVzc2FnZVBvcnRBcnJh
eVR4LCBhcnJheUJ1ZmZlckFycmF5VHgsIGFyZ3MuR2V0SXNvbGF0ZSgpKSkKLSAgICAgICAgICAg
IHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiQ291bGQgbm90IGV4dHJhY3QgdHJhbnNm
ZXJhYmxlcyIpOworICAgICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKCJDb3VsZCBub3Qg
ZXh0cmFjdCB0cmFuc2ZlcmFibGVzIik7CiAgICAgfQogICAgIGJvb2wgZmlyc3REaWRUaHJvdyA9
IGZhbHNlOwogICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGZpcnN0ID0gU2VyaWFs
aXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoYXJnc1swXSwgJm1lc3NhZ2VQb3J0QXJyYXlUeCwgJmFy
cmF5QnVmZmVyQXJyYXlUeCwgZmlyc3REaWRUaHJvdywgYXJncy5HZXRJc29sYXRlKCkpOwpAQCAt
MTc0LDcgKzE3NCw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gbXVsdGlUcmFuc2Zl
ckxpc3RDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzCiAgICAgQXJyYXlCdWZmZXJB
cnJheSBhcnJheUJ1ZmZlckFycmF5VHh4OwogICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMykgewog
ICAgICAgICBpZiAoIWV4dHJhY3RUcmFuc2ZlcmFibGVzKGFyZ3NbM10sIG1lc3NhZ2VQb3J0QXJy
YXlUeHgsIGFycmF5QnVmZmVyQXJyYXlUeHgsIGFyZ3MuR2V0SXNvbGF0ZSgpKSkKLSAgICAgICAg
ICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiQ291bGQgbm90IGV4dHJhY3QgdHJh
bnNmZXJhYmxlcyIpOworICAgICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKCJDb3VsZCBu
b3QgZXh0cmFjdCB0cmFuc2ZlcmFibGVzIik7CiAgICAgfQogICAgIGJvb2wgc2Vjb25kRGlkVGhy
b3cgPSBmYWxzZTsKICAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBzZWNvbmQgPSBT
ZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShhcmdzWzJdLCAmbWVzc2FnZVBvcnRBcnJheVR4
eCwgJmFycmF5QnVmZmVyQXJyYXlUeHgsIHNlY29uZERpZFRocm93LCBhcmdzLkdldElzb2xhdGUo
KSk7CkBAIC0yMTMsMTggKzIxMywxOCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhUZXN0U2Vy
aWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpjb25zdHJ1Y3RvckNhbGxiYWNrKAogICAgIElO
Q19TVEFUUygiRE9NLlRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuQ29uc3RydWN0
b3IiKTsKIAogICAgIGlmICghYXJncy5Jc0NvbnN0cnVjdENhbGwoKSkKLSAgICAgICAgcmV0dXJu
IFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBi
ZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4iKTsKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9y
KCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4i
KTsKIAogICAgIGlmIChDb25zdHJ1Y3Rvck1vZGU6OmN1cnJlbnQoKSA9PSBDb25zdHJ1Y3Rvck1v
ZGU6OldyYXBFeGlzdGluZ09iamVjdCkKICAgICAgICAgcmV0dXJuIGFyZ3MuSG9sZGVyKCk7CiAg
ICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAyKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dO
b3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVy
biB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBT
VFJJTkdfVE9fVjhQQVJBTUVURVJfRVhDRVBUSU9OX0JMT0NLKFY4UGFyYW1ldGVyPD4sIGhlbGxv
LCBNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKTsK
ICAgICBNZXNzYWdlUG9ydEFycmF5IG1lc3NhZ2VQb3J0QXJyYXlUcmFuc2Zlckxpc3Q7CiAgICAg
QXJyYXlCdWZmZXJBcnJheSBhcnJheUJ1ZmZlckFycmF5VHJhbnNmZXJMaXN0OwogICAgIGlmIChh
cmdzLkxlbmd0aCgpID4gMikgewogICAgICAgICBpZiAoIWV4dHJhY3RUcmFuc2ZlcmFibGVzKGFy
Z3NbMl0sIG1lc3NhZ2VQb3J0QXJyYXlUcmFuc2Zlckxpc3QsIGFycmF5QnVmZmVyQXJyYXlUcmFu
c2Zlckxpc3QsIGFyZ3MuR2V0SXNvbGF0ZSgpKSkKLSAgICAgICAgICAgIHJldHVybiBWOFByb3h5
Ojp0aHJvd1R5cGVFcnJvcigiQ291bGQgbm90IGV4dHJhY3QgdHJhbnNmZXJhYmxlcyIpOworICAg
ICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKCJDb3VsZCBub3QgZXh0cmFjdCB0cmFuc2Zl
cmFibGVzIik7CiAgICAgfQogICAgIGJvb2wgZGF0YURpZFRocm93ID0gZmFsc2U7CiAgICAgUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gZGF0YSA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6
Y3JlYXRlKGFyZ3NbMV0sICZtZXNzYWdlUG9ydEFycmF5VHJhbnNmZXJMaXN0LCAmYXJyYXlCdWZm
ZXJBcnJheVRyYW5zZmVyTGlzdCwgZGF0YURpZFRocm93LCBhcmdzLkdldElzb2xhdGUoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EYXRlRXh0ZW5zaW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RhdGVFeHRlbnNpb24uY3BwCmluZGV4IGI1OGFm
ZWMzOTg0MDUxMmFlN2QyNjczNjIwNTM3NjYzYWNiZTVlNjYuLjA3ZjliZjEyMDlhYTJhYjliZWYx
Mzg0Zjc2NTM1NmUwNDdjNjk1ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L0RhdGVFeHRlbnNpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0Rh
dGVFeHRlbnNpb24uY3BwCkBAIC0xMTgsNyArMTE4LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IERhdGVFeHRlbnNpb246OlNldHVwKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAKIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBEYXRlRXh0ZW5zaW9uOjpPblNsZWVwRGV0ZWN0ZWQoY29uc3Qgdjg6
OkFyZ3VtZW50cyYgYXJncykKIHsKLSAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dFcnJvcihWOFBy
b3h5OjpHZW5lcmFsRXJyb3IsICJUb28gbXVjaCB0aW1lIHNwZW50IGluIHVubG9hZCBoYW5kbGVy
LiIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICByZXR1cm4gdGhyb3dFcnJvcihHZW5lcmFsRXJy
b3IsICJUb28gbXVjaCB0aW1lIHNwZW50IGluIHVubG9hZCBoYW5kbGVyLiIsIGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKIH0KIAogfSAgLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAKaW5kZXggZDA4OTJiZDY1ZDE5N2FiYjM3OTJjN2M0MDcx
MTI1NzRmZTkwNWQ1My4uN2I0MWNlYmRmMDlhYjBhODQ3MDdkNGY5NGY1MzBmNDM1MjhhNDU3NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAKQEAgLTQ4MCw3ICs0
ODAsNyBAQCB2b2lkIF9OUE5fU2V0RXhjZXB0aW9uKE5QT2JqZWN0KiBucE9iamVjdCwgY29uc3Qg
TlBVVEY4ICptZXNzYWdlKQogICAgIGlmICghbnBPYmplY3QgfHwgbnBPYmplY3QtPl9jbGFzcyAh
PSBucFNjcmlwdE9iamVjdENsYXNzKSB7CiAgICAgICAgIC8vIFdlIHdvbid0IGJlIGFibGUgdG8g
ZmluZCBhIHByb3BlciBzY29wZSBmb3IgdGhpcyBleGNlcHRpb24sIHNvIGp1c3QgdGhyb3cgaXQu
CiAgICAgICAgIC8vIFRoaXMgaXMgY29uc2lzdGVudCB3aXRoIEpTQywgd2hpY2ggdGhyb3dzIGEg
Z2xvYmFsIGV4Y2VwdGlvbiBhbGwgdGhlIHRpbWUuCi0gICAgICAgIFY4UHJveHk6OnRocm93RXJy
b3IoVjhQcm94eTo6R2VuZXJhbEVycm9yLCBtZXNzYWdlKTsKKyAgICAgICAgdGhyb3dFcnJvcihH
ZW5lcmFsRXJyb3IsIG1lc3NhZ2UpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIHY4OjpI
YW5kbGVTY29wZSBoYW5kbGVTY29wZTsKQEAgLTQ5MSw3ICs0OTEsNyBAQCB2b2lkIF9OUE5fU2V0
RXhjZXB0aW9uKE5QT2JqZWN0KiBucE9iamVjdCwgY29uc3QgTlBVVEY4ICptZXNzYWdlKQogICAg
IHY4OjpDb250ZXh0OjpTY29wZSBzY29wZShjb250ZXh0KTsKICAgICBFeGNlcHRpb25DYXRjaGVy
IGV4Y2VwdGlvbkNhdGNoZXI7CiAKLSAgICBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6Okdl
bmVyYWxFcnJvciwgbWVzc2FnZSk7CisgICAgdGhyb3dFcnJvcihHZW5lcmFsRXJyb3IsIG1lc3Nh
Z2UpOwogfQogCiBib29sIF9OUE5fRW51bWVyYXRlKE5QUCBucHAsIE5QT2JqZWN0KiBucE9iamVj
dCwgTlBJZGVudGlmaWVyKiogaWRlbnRpZmllciwgdWludDMyX3QqIGNvdW50KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKaW5k
ZXggYTI3NTMyYzdmNDdiNWYyZDEwMGQwMjgzNjk5OTAxYjI3ZTViOTYxZS4uODNiYjhmMGIzMjhk
OTg1OTIyNjc4ZWVhNWZmNzhiMjRjZWI0Njk1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC0yMjIxLDcgKzIyMjEs
NyBAQCBQYXNzT3duUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6QXJyYXlCdWZmZXJDb250ZW50
c0FycmF5PiBTZXJpYWxpemVkU2NyaXB0VmFsdQogewogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgYXJyYXlCdWZmZXJzLnNpemUoKTsgaSsrKSB7CiAgICAgICAgIGlmIChhcnJheUJ1ZmZlcnNb
aV0tPmlzTmV1dGVyZWQoKSkgewotICAgICAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9u
KElOVkFMSURfU1RBVEVfRVJSLCBpc29sYXRlKTsKKyAgICAgICAgICAgIHNldERPTUV4Y2VwdGlv
bihJTlZBTElEX1NUQVRFX0VSUiwgaXNvbGF0ZSk7CiAgICAgICAgICAgICBkaWRUaHJvdyA9IHRy
dWU7CiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgfQpAQCAtMjIzOSw3ICsy
MjM5LDcgQEAgUGFzc093blB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU6OkFycmF5QnVmZmVyQ29u
dGVudHNBcnJheT4gU2VyaWFsaXplZFNjcmlwdFZhbHUKIAogICAgICAgICBib29sIHJlc3VsdCA9
IGFycmF5QnVmZmVyc1tpXS0+dHJhbnNmZXIoY29udGVudHMtPmF0KGkpLCBuZXV0ZXJlZFZpZXdz
KTsKICAgICAgICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAgICAgIFY4UHJveHk6OnNldERPTUV4
Y2VwdGlvbihJTlZBTElEX1NUQVRFX0VSUiwgaXNvbGF0ZSk7CisgICAgICAgICAgICBzZXRET01F
eGNlcHRpb24oSU5WQUxJRF9TVEFURV9FUlIsIGlzb2xhdGUpOwogICAgICAgICAgICAgZGlkVGhy
b3cgPSB0cnVlOwogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIH0KQEAgLTIy
NzcsMTEgKzIyNzcsMTEgQEAgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpTZXJpYWxpemVkU2NyaXB0
VmFsdWUodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlLAogICAgICAgICAvLyBJZiB0aGVyZSB3
YXMgYW4gaW5wdXQgZXJyb3IsIHRocm93IGEgbmV3IGV4Y2VwdGlvbiBvdXRzaWRlCiAgICAgICAg
IC8vIG9mIHRoZSBUcnlDYXRjaCBzY29wZS4KICAgICAgICAgZGlkVGhyb3cgPSB0cnVlOwotICAg
ICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oREFUQV9DTE9ORV9FUlIsIGlzb2xhdGUpOwor
ICAgICAgICBzZXRET01FeGNlcHRpb24oREFUQV9DTE9ORV9FUlIsIGlzb2xhdGUpOwogICAgICAg
ICByZXR1cm47CiAgICAgY2FzZSBTZXJpYWxpemVyOjpJbnZhbGlkU3RhdGVFcnJvcjoKICAgICAg
ICAgZGlkVGhyb3cgPSB0cnVlOwotICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oSU5W
QUxJRF9TVEFURV9FUlIsIGlzb2xhdGUpOworICAgICAgICBzZXRET01FeGNlcHRpb24oSU5WQUxJ
RF9TVEFURV9FUlIsIGlzb2xhdGUpOwogICAgICAgICByZXR1cm47CiAgICAgY2FzZSBTZXJpYWxp
emVyOjpKU0ZhaWx1cmU6CiAgICAgICAgIC8vIElmIHRoZXJlIHdhcyBhIEpTIGZhaWx1cmUgKGJ1
dCBubyBleGNlcHRpb24pLCB0aGVyZSdzIG5vdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
QmluZGluZy5jcHAKaW5kZXggYTVlOTVhODdiZmMwNTljYzUwNDlhZjgzMGM3NmVkMWZjM2M2YzU3
Yy4uMjA3MGZmZGJkZDdjNTJmMWU5YzhhMzRkYmQ0NTY5ZDBjNGI3NjVmMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuY3BwCkBAIC01Miw2ICs1MiwzMSBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBzZXRET01FeGNlcHRpb24o
aW50IGV4Y2VwdGlvbkNvZGUsIHY4OjpJc29sYXRlKiBpc29sYXRlKQoreworICAgIHJldHVybiBW
OFRocm93RXhjZXB0aW9uOjpzZXRET01FeGNlcHRpb24oZXhjZXB0aW9uQ29kZSwgaXNvbGF0ZSk7
Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0aHJvd0Vycm9yKEVycm9yVHlwZSBlcnJvclR5
cGUsIGNvbnN0IGNoYXIqIG1lc3NhZ2UsIHY4OjpJc29sYXRlKiBpc29sYXRlKQoreworICAgIHJl
dHVybiBWOFRocm93RXhjZXB0aW9uOjp0aHJvd0Vycm9yKGVycm9yVHlwZSwgbWVzc2FnZSwgaXNv
bGF0ZSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0aHJvd0Vycm9yKHY4OjpMb2NhbDx2
ODo6VmFsdWU+IGV4Y2VwdGlvbiwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCit7CisgICAgcmV0dXJu
IFY4VGhyb3dFeGNlcHRpb246OnRocm93RXJyb3IoZXhjZXB0aW9uLCBpc29sYXRlKTsKK30KKwor
djg6OkhhbmRsZTx2ODo6VmFsdWU+IHRocm93VHlwZUVycm9yKGNvbnN0IGNoYXIqIG1lc3NhZ2Us
IHY4OjpJc29sYXRlKiBpc29sYXRlKQoreworICAgIHJldHVybiBWOFRocm93RXhjZXB0aW9uOjp0
aHJvd1R5cGVFcnJvcihtZXNzYWdlLCBpc29sYXRlKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFs
dWU+IHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3Iodjg6Oklzb2xhdGUqIGlzb2xhdGUpCit7
CisgICAgcmV0dXJuIFY4VGhyb3dFeGNlcHRpb246OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJy
b3IoaXNvbGF0ZSk7Cit9CisKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogdm9pZCBWOFBlcklzb2xh
dGVEYXRhOjp2aXNpdEV4dGVybmFsU3RyaW5ncyhFeHRlcm5hbFN0cmluZ1Zpc2l0b3IqIHZpc2l0
b3IpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oCmluZGV4IGNhM2FmYjY0
OWI2NjZkZTJhNGVkYjEzOTkxNTk1NjY5NDE5MTQ5ZWMuLjdjYTExMTI3MTRjYjkyYjU0YWI3ZTkz
MTNlMGUzYmYwZDEzMDFkMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4QmluZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5o
CkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuaCIKICNp
bmNsdWRlICJWOFBlcklzb2xhdGVEYXRhLmgiCiAjaW5jbHVkZSAiVjhQcm94eS5oIgorI2luY2x1
ZGUgIlY4VGhyb3dFeGNlcHRpb24uaCIKICNpbmNsdWRlICJWOFZhbHVlQ2FjaGUuaCIKICNpbmNs
dWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAt
MTA0LDYgKzEwNSwyMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgbV9wcmV2
aW91czsKICAgICB9OwogCisgICAgLy8gU2NoZWR1bGUgYSBET00gZXhjZXB0aW9uIHRvIGJlIHRo
cm93biwgaWYgdGhlIGV4Y2VwdGlvbiBjb2RlIGlzIGRpZmZlcmVudAorICAgIC8vIGZyb20gemVy
by4KKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gc2V0RE9NRXhjZXB0aW9uKGludCwgdjg6Oklz
b2xhdGUqKTsKKworICAgIC8vIFNjaGVkdWxlIGEgSmF2YVNjcmlwdCBlcnJvciB0byBiZSB0aHJv
d24uCisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRocm93RXJyb3IoRXJyb3JUeXBlLCBjb25z
dCBjaGFyKiwgdjg6Oklzb2xhdGUqID0gMCk7CisKKyAgICAvLyBTY2hlZHVsZSBhIEphdmFTY3Jp
cHQgZXJyb3IgdG8gYmUgdGhyb3duLgorICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0aHJvd0Vy
cm9yKHY4OjpMb2NhbDx2ODo6VmFsdWU+LCB2ODo6SXNvbGF0ZSogPSAwKTsKKworICAgIC8vIEEg
aGVscGVyIGZvciB0aHJvd2luZyBKYXZhU2NyaXB0IFR5cGVFcnJvci4KKyAgICB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gdGhyb3dUeXBlRXJyb3IoY29uc3QgY2hhciogPSAwLCB2ODo6SXNvbGF0ZSog
PSAwKTsKKworICAgIC8vIEEgaGVscGVyIGZvciB0aHJvd2luZyBKYXZhU2NyaXB0IFR5cGVFcnJv
ciBmb3Igbm90IGVub3VnaCBhcmd1bWVudHMuCisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRo
cm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3Iodjg6Oklzb2xhdGUqKTsKKwogICAgIC8vIFNpbmNl
IHY4OjpOdWxsKGlzb2xhdGUpIGNyYXNoZXMgaWYgd2UgcGFzcyBhIG51bGwgaXNvbGF0ZSwKICAg
ICAvLyB3ZSBuZWVkIHRvIHVzZSB2OE51bGxXaXRoQ2hlY2soaXNvbGF0ZSkgaWYgYW4gaXNvbGF0
ZSBjYW4gYmUgbnVsbC4KICAgICAvLwpAQCAtMjY3LDcgKzI4NCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjhTZXF1ZW5jZSh2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUsIHVpbnQzMl90JiBsZW5ndGgpCiAgICAgewogICAgICAg
ICBpZiAoIXZhbHVlLT5Jc09iamVjdCgpKSB7Ci0gICAgICAgICAgICBWOFByb3h5Ojp0aHJvd1R5
cGVFcnJvcigpOworICAgICAgICAgICAgdGhyb3dUeXBlRXJyb3IoKTsKICAgICAgICAgICAgIHJl
dHVybiB2OFVuZGVmaW5lZCgpOwogICAgICAgICB9CiAKQEAgLTI3Nyw3ICsyOTQsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEVYQ0VQVElPTl9CTE9DSyh2ODo6TG9jYWw8djg6OlZh
bHVlPiwgbGVuZ3RoVmFsdWUsIG9iamVjdC0+R2V0KHY4OjpTdHJpbmc6Ok5ldygibGVuZ3RoIikp
KTsKIAogICAgICAgICBpZiAobGVuZ3RoVmFsdWUtPklzVW5kZWZpbmVkKCkgfHwgbGVuZ3RoVmFs
dWUtPklzTnVsbCgpKSB7Ci0gICAgICAgICAgICBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigpOwor
ICAgICAgICAgICAgdGhyb3dUeXBlRXJyb3IoKTsKICAgICAgICAgICAgIHJldHVybiB2OFVuZGVm
aW5lZCgpOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4Q29sbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOENvbGxl
Y3Rpb24uY3BwCmluZGV4IDhkY2JjYzFkZDk1ZDQ2MTgxMGNjZTEwYTllOTMyMjAyZGJjNTVhZTgu
LmE3MWRhZTM0YWJlMWU0ZGZhNWEzMGJkMTFiOWE0MjVkODFmNWZmMzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4Q29sbGVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhDb2xsZWN0aW9uLmNwcApAQCAtNDgsMTQgKzQ4LDE0IEBAIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiB0b09wdGlvbnNDb2xsZWN0aW9uU2V0dGVyKHVpbnQzMl90IGlu
ZGV4LCB2ODo6SGFuZGxlPHY4OjpWCiAKICAgICAvLyBDaGVjayB0aGF0IHRoZSB2YWx1ZSBpcyBh
biBIVE1MT3B0aW9uRWxlbWVudC4gIElmIG5vdCwgdGhyb3cgYSBUWVBFX01JU01BVENIX0VSUiBE
T01FeGNlcHRpb24uCiAgICAgaWYgKCFWOEhUTUxPcHRpb25FbGVtZW50OjpIYXNJbnN0YW5jZSh2
YWx1ZSkpIHsKLSAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hf
RVJSLCBpc29sYXRlKTsKKyAgICAgICAgc2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJS
LCBpc29sYXRlKTsKICAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgIH0KIAogICAgIEhUTUxPcHRp
b25FbGVtZW50KiBlbGVtZW50ID0gVjhIVE1MT3B0aW9uRWxlbWVudDo6dG9OYXRpdmUodjg6Okhh
bmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdCh2YWx1ZSkpOwogICAgIGJhc2UtPnNldE9wdGlvbihpbmRl
eCwgZWxlbWVudCwgZWMpOwogCi0gICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBpc29s
YXRlKTsKKyAgICBzZXRET01FeGNlcHRpb24oZWMsIGlzb2xhdGUpOwogICAgIHJldHVybiB2YWx1
ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhOUE9iamVj
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOE5QT2JqZWN0LmNwcAppbmRleCAz
ZmVlNzkwZjRkOTIyOGNjNTAxNjgwYWViMGRiNDk1MGIxYzEzY2E4Li4xZWQ3OThjNWE5NmY1Y2Qz
YjRlOTk4ZjYyYzk5OWM4MTllODU2ZDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOE5QT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OE5QT2JqZWN0LmNwcApAQCAtOTEsMTQgKzkxLDE0IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gbnBPYmplY3RJbnZva2VJbXBsKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MsIEludm9r
CiAgICAgICAgIC8vIFRoZSBob2xkZXIgb2JqZWN0IGlzIG5vdCBhIHN1YnR5cGUgb2YgSFRNTFBs
dWdJbkVsZW1lbnQsIGl0IG11c3QgYmUgYW4gTlBPYmplY3Qgd2hpY2ggaGFzIHRocmVlCiAgICAg
ICAgIC8vIGludGVybmFsIGZpZWxkcy4KICAgICAgICAgaWYgKGFyZ3MuSG9sZGVyKCktPkludGVy
bmFsRmllbGRDb3VudCgpICE9IG5wT2JqZWN0SW50ZXJuYWxGaWVsZENvdW50KQotICAgICAgICAg
ICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6UmVmZXJlbmNlRXJyb3IsICJO
UE1ldGhvZCBjYWxsZWQgb24gbm9uLU5QT2JqZWN0IiwgYXJncy5HZXRJc29sYXRlKCkpOworICAg
ICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoUmVmZXJlbmNlRXJyb3IsICJOUE1ldGhvZCBjYWxs
ZWQgb24gbm9uLU5QT2JqZWN0IiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgICAgIG5wT2Jq
ZWN0ID0gdjhPYmplY3RUb05QT2JqZWN0KGFyZ3MuSG9sZGVyKCkpOwogICAgIH0KIAogICAgIC8v
IFZlcmlmeSB0aGF0IG91ciB3cmFwcGVyIHdhc24ndCB1c2luZyBhIE5QT2JqZWN0IHdoaWNoIGhh
cyBhbHJlYWR5IGJlZW4gZGVsZXRlZC4KICAgICBpZiAoIW5wT2JqZWN0IHx8ICFfTlBOX0lzQWxp
dmUobnBPYmplY3QpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5
OjpSZWZlcmVuY2VFcnJvciwgIk5QT2JqZWN0IGRlbGV0ZWQiLCBhcmdzLkdldElzb2xhdGUoKSk7
CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFJlZmVyZW5jZUVycm9yLCAiTlBPYmplY3QgZGVs
ZXRlZCIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIC8vIFdyYXAgdXAgcGFyYW1ldGVycy4K
ICAgICBpbnQgbnVtQXJncyA9IGFyZ3MuTGVuZ3RoKCk7CkBAIC0xMzIsNyArMTMyLDcgQEAgc3Rh
dGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBucE9iamVjdEludm9rZUltcGwoY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXJncywgSW52b2sKICAgICB9CiAKICAgICBpZiAoIXJldHZhbCkKLSAgICAgICAg
VjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpHZW5lcmFsRXJyb3IsICJFcnJvciBjYWxsaW5n
IG1ldGhvZCBvbiBOUE9iamVjdC4iLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHRocm93
RXJyb3IoR2VuZXJhbEVycm9yLCAiRXJyb3IgY2FsbGluZyBtZXRob2Qgb24gTlBPYmplY3QuIiwg
YXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1BcmdzOyBp
KyspCiAgICAgICAgIF9OUE5fUmVsZWFzZVZhcmlhbnRWYWx1ZSgmbnBBcmdzW2ldKTsKQEAgLTE4
OSwxMiArMTg5LDEyIEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gbnBPYmplY3RHZXRQ
cm9wZXJ0eSh2ODo6TG9jYWw8djg6Ok9iamVjdD4gc2VsZiwgTlBJCiAgICAgLy8gVmVyaWZ5IHRo
YXQgb3VyIHdyYXBwZXIgd2Fzbid0IHVzaW5nIGEgTlBPYmplY3Qgd2hpY2gKICAgICAvLyBoYXMg
YWxyZWFkeSBiZWVuIGRlbGV0ZWQuCiAgICAgaWYgKCFucE9iamVjdCB8fCAhX05QTl9Jc0FsaXZl
KG5wT2JqZWN0KSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6
UmVmZXJlbmNlRXJyb3IsICJOUE9iamVjdCBkZWxldGVkIiwgaXNvbGF0ZSk7CisgICAgICAgIHJl
dHVybiB0aHJvd0Vycm9yKFJlZmVyZW5jZUVycm9yLCAiTlBPYmplY3QgZGVsZXRlZCIsIGlzb2xh
dGUpOwogCiAKICAgICBpZiAobnBPYmplY3QtPl9jbGFzcy0+aGFzUHJvcGVydHkgJiYgbnBPYmpl
Y3QtPl9jbGFzcy0+Z2V0UHJvcGVydHkgJiYgbnBPYmplY3QtPl9jbGFzcy0+aGFzUHJvcGVydHko
bnBPYmplY3QsIGlkZW50aWZpZXIpKSB7CiAgICAgICAgIGlmICghX05QTl9Jc0FsaXZlKG5wT2Jq
ZWN0KSkKLSAgICAgICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJl
ZmVyZW5jZUVycm9yLCAiTlBPYmplY3QgZGVsZXRlZCIsIGlzb2xhdGUpOworICAgICAgICAgICAg
cmV0dXJuIHRocm93RXJyb3IoUmVmZXJlbmNlRXJyb3IsICJOUE9iamVjdCBkZWxldGVkIiwgaXNv
bGF0ZSk7CiAKICAgICAgICAgTlBWYXJpYW50IHJlc3VsdDsKICAgICAgICAgVk9JRF9UT19OUFZB
UklBTlQocmVzdWx0KTsKQEAgLTIxMCwxMSArMjEwLDExIEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gbnBPYmplY3RHZXRQcm9wZXJ0eSh2ODo6TG9jYWw8djg6Ok9iamVjdD4gc2VsZiwg
TlBJCiAgICAgfQogCiAgICAgaWYgKCFfTlBOX0lzQWxpdmUobnBPYmplY3QpKQotICAgICAgICBy
ZXR1cm4gVjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpSZWZlcmVuY2VFcnJvciwgIk5QT2Jq
ZWN0IGRlbGV0ZWQiLCBpc29sYXRlKTsKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoUmVmZXJl
bmNlRXJyb3IsICJOUE9iamVjdCBkZWxldGVkIiwgaXNvbGF0ZSk7CiAKICAgICBpZiAoa2V5LT5J
c1N0cmluZygpICYmIG5wT2JqZWN0LT5fY2xhc3MtPmhhc01ldGhvZCAmJiBucE9iamVjdC0+X2Ns
YXNzLT5oYXNNZXRob2QobnBPYmplY3QsIGlkZW50aWZpZXIpKSB7CiAgICAgICAgIGlmICghX05Q
Tl9Jc0FsaXZlKG5wT2JqZWN0KSkKLSAgICAgICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd0Vy
cm9yKFY4UHJveHk6OlJlZmVyZW5jZUVycm9yLCAiTlBPYmplY3QgZGVsZXRlZCIsIGlzb2xhdGUp
OworICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoUmVmZXJlbmNlRXJyb3IsICJOUE9iamVj
dCBkZWxldGVkIiwgaXNvbGF0ZSk7CiAKICAgICAgICAgUHJpdmF0ZUlkZW50aWZpZXIqIGlkID0g
c3RhdGljX2Nhc3Q8UHJpdmF0ZUlkZW50aWZpZXIqPihpZGVudGlmaWVyKTsKICAgICAgICAgdjg6
OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IGZ1bmN0aW9uVGVtcGxhdGUgPSBzdGF0
aWNUZW1wbGF0ZU1hcCgpLmdldChpZCk7CkBAIC0yNzIsMTMgKzI3MiwxMyBAQCBzdGF0aWMgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IG5wT2JqZWN0U2V0UHJvcGVydHkodjg6OkxvY2FsPHY4OjpPYmpl
Y3Q+IHNlbGYsIE5QSQogCiAgICAgLy8gVmVyaWZ5IHRoYXQgb3VyIHdyYXBwZXIgd2Fzbid0IHVz
aW5nIGEgTlBPYmplY3Qgd2hpY2ggaGFzIGFscmVhZHkgYmVlbiBkZWxldGVkLgogICAgIGlmICgh
bnBPYmplY3QgfHwgIV9OUE5fSXNBbGl2ZShucE9iamVjdCkpIHsKLSAgICAgICAgVjhQcm94eTo6
dGhyb3dFcnJvcihWOFByb3h5OjpSZWZlcmVuY2VFcnJvciwgIk5QT2JqZWN0IGRlbGV0ZWQiLCBp
c29sYXRlKTsKKyAgICAgICAgdGhyb3dFcnJvcihSZWZlcmVuY2VFcnJvciwgIk5QT2JqZWN0IGRl
bGV0ZWQiLCBpc29sYXRlKTsKICAgICAgICAgcmV0dXJuIHZhbHVlOyAgLy8gSW50ZXJjZXB0ZWQs
IGJ1dCBhbiBleGNlcHRpb24gd2FzIHRocm93bi4KICAgICB9CiAKICAgICBpZiAobnBPYmplY3Qt
Pl9jbGFzcy0+aGFzUHJvcGVydHkgJiYgbnBPYmplY3QtPl9jbGFzcy0+c2V0UHJvcGVydHkgJiYg
bnBPYmplY3QtPl9jbGFzcy0+aGFzUHJvcGVydHkobnBPYmplY3QsIGlkZW50aWZpZXIpKSB7CiAg
ICAgICAgIGlmICghX05QTl9Jc0FsaXZlKG5wT2JqZWN0KSkKLSAgICAgICAgICAgIHJldHVybiBW
OFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJlZmVyZW5jZUVycm9yLCAiTlBPYmplY3QgZGVs
ZXRlZCIsIGlzb2xhdGUpOworICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoUmVmZXJlbmNl
RXJyb3IsICJOUE9iamVjdCBkZWxldGVkIiwgaXNvbGF0ZSk7CiAKICAgICAgICAgTlBWYXJpYW50
IG5wVmFsdWU7CiAgICAgICAgIFZPSURfVE9fTlBWQVJJQU5UKG5wVmFsdWUpOwpAQCAtMzI0LDcg
KzMyNCw3IEBAIHY4OjpIYW5kbGU8djg6OkFycmF5PiBucE9iamVjdFByb3BlcnR5RW51bWVyYXRv
cihjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvLCBiCiAgICAgLy8gVmVyaWZ5IHRoYXQgb3Vy
IHdyYXBwZXIgd2Fzbid0IHVzaW5nIGEgTlBPYmplY3Qgd2hpY2gKICAgICAvLyBoYXMgYWxyZWFk
eSBiZWVuIGRlbGV0ZWQuCiAgICAgaWYgKCFucE9iamVjdCB8fCAhX05QTl9Jc0FsaXZlKG5wT2Jq
ZWN0KSkKLSAgICAgICAgVjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpSZWZlcmVuY2VFcnJv
ciwgIk5QT2JqZWN0IGRlbGV0ZWQiLCBpbmZvLkdldElzb2xhdGUoKSk7CisgICAgICAgIHRocm93
RXJyb3IoUmVmZXJlbmNlRXJyb3IsICJOUE9iamVjdCBkZWxldGVkIiwgaW5mby5HZXRJc29sYXRl
KCkpOwogCiAgICAgaWYgKE5QX0NMQVNTX1NUUlVDVF9WRVJTSU9OX0hBU19FTlVNKG5wT2JqZWN0
LT5fY2xhc3MpICYmIG5wT2JqZWN0LT5fY2xhc3MtPmVudW1lcmF0ZSkgewogICAgICAgICB1aW50
MzJfdCBjb3VudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4Tm9k
ZUZpbHRlckNvbmRpdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOE5vZGVG
aWx0ZXJDb25kaXRpb24uY3BwCmluZGV4IDcwZGI0N2RlMmQwNDZkMmRmZDBkY2UxNWQ1YjQ2ODgz
MDAxNzFmZDAuLjljMDc3MzExOGZlMzEwMDc1YWRjN2EyYTA3MWZkYWFhNWU0ZjczMTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4Tm9kZUZpbHRlckNvbmRpdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhOb2RlRmlsdGVyQ29uZGl0aW9u
LmNwcApAQCAtNzMsNyArNzMsNyBAQCBzaG9ydCBWOE5vZGVGaWx0ZXJDb25kaXRpb246OmFjY2Vw
dE5vZGUoU2NyaXB0U3RhdGUqIHN0YXRlLCBOb2RlKiBub2RlKSBjb25zdAogICAgIGVsc2Ugewog
ICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSA9IG1fZmlsdGVyLT5Ub09iamVjdCgp
LT5HZXQodjg6OlN0cmluZzo6TmV3KCJhY2NlcHROb2RlIikpOwogICAgICAgICBpZiAoIXZhbHVl
LT5Jc0Z1bmN0aW9uKCkpIHsKLSAgICAgICAgICAgIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJO
b2RlRmlsdGVyIG9iamVjdCBkb2VzIG5vdCBoYXZlIGFuIGFjY2VwdE5vZGUgZnVuY3Rpb24iKTsK
KyAgICAgICAgICAgIHRocm93VHlwZUVycm9yKCJOb2RlRmlsdGVyIG9iamVjdCBkb2VzIG5vdCBo
YXZlIGFuIGFjY2VwdE5vZGUgZnVuY3Rpb24iKTsKICAgICAgICAgICAgIHJldHVybiBOb2RlRmls
dGVyOjpGSUxURVJfUkVKRUNUOwogICAgICAgICB9CiAgICAgICAgIGNhbGxiYWNrID0gdjg6Okhh
bmRsZTx2ODo6RnVuY3Rpb24+OjpDYXN0KHZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhQcm94eS5jcHAKaW5kZXggNjgzMjkyODEyZTVkYmNmZWI1YmZkZWFlM2IzNmNlZTA1YTI5NWNi
Ni4uMGExODUyN2JjOTE3YjAxYTAyYjI2NGFmMmUyZWI2ZDk1MWJmNjE2YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhQcm94eS5jcHAKQEAgLTExNCw3ICsxMTQsNyBAQCBzdGF0aWMgdm9p
ZCBoYW5kbGVGYXRhbEVycm9ySW5WOCgpCiAKIHN0YXRpYyB2ODo6TG9jYWw8djg6OlZhbHVlPiBo
YW5kbGVNYXhSZWN1cnNpb25EZXB0aEV4Y2VlZGVkKCkKIHsKLSAgICBWOFByb3h5Ojp0aHJvd0Vy
cm9yKFY4UHJveHk6OlJhbmdlRXJyb3IsICJNYXhpbXVtIGNhbGwgc3RhY2sgc2l6ZSBleGNlZWRl
ZC4iKTsKKyAgICB0aHJvd0Vycm9yKFJhbmdlRXJyb3IsICJNYXhpbXVtIGNhbGwgc3RhY2sgc2l6
ZSBleGNlZWRlZC4iKTsKICAgICByZXR1cm4gdjg6OkxvY2FsPHY4OjpWYWx1ZT4oKTsKIH0KIApA
QCAtNDcxLDgzICs0NzEsNiBAQCB2b2lkIFY4UHJveHk6OmNsZWFyRm9yTmF2aWdhdGlvbigpCiAg
ICAgd2luZG93U2hlbGwoKS0+Y2xlYXJGb3JOYXZpZ2F0aW9uKCk7CiB9CiAKLXN0YXRpYyB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gRE9NRXhjZXB0aW9uU3RhY2tHZXR0ZXIodjg6OkxvY2FsPHY4OjpT
dHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCi17Ci0gICAgQVNTRVJU
KGluZm8uRGF0YSgpLT5Jc09iamVjdCgpKTsKLSAgICByZXR1cm4gaW5mby5EYXRhKCktPlRvT2Jq
ZWN0KCktPkdldCh2OFN0cmluZygic3RhY2siLCBpbmZvLkdldElzb2xhdGUoKSkpOwotfQotCi1z
dGF0aWMgdm9pZCBET01FeGNlcHRpb25TdGFja1NldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4g
bmFtZSwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8m
IGluZm8pCi17Ci0gICAgQVNTRVJUKGluZm8uRGF0YSgpLT5Jc09iamVjdCgpKTsKLSAgICBpbmZv
LkRhdGEoKS0+VG9PYmplY3QoKS0+U2V0KHY4U3RyaW5nKCJzdGFjayIsIGluZm8uR2V0SXNvbGF0
ZSgpKSwgdmFsdWUpOwotfQotCi0jZGVmaW5lIFRSWV9UT19DUkVBVEVfRVhDRVBUSU9OKGludGVy
ZmFjZU5hbWUpIFwKLSAgICBjYXNlIGludGVyZmFjZU5hbWUjI1R5cGU6IFwKLSAgICAgICAgZXhj
ZXB0aW9uID0gdG9WOChpbnRlcmZhY2VOYW1lOjpjcmVhdGUoZGVzY3JpcHRpb24pLCBpc29sYXRl
KTsgXAotICAgICAgICBicmVhazsKLQotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4UHJveHk6OnNl
dERPTUV4Y2VwdGlvbihpbnQgZWMsIHY4OjpJc29sYXRlKiBpc29sYXRlKQotewotICAgIGlmIChl
YyA8PSAwIHx8IHY4OjpWODo6SXNFeGVjdXRpb25UZXJtaW5hdGluZygpKQotICAgICAgICByZXR1
cm4gdjhVbmRlZmluZWQoKTsKLQotICAgIGlmIChlYyA9PSBOQVRJVkVfVFlQRV9FUlIpIHsKLSAg
ICAgICAgY29uc3QgY2hhciogbWVzc2FnZSA9IDA7Ci0gICAgICAgIHJldHVybiB0aHJvd1R5cGVF
cnJvcihtZXNzYWdlLCBpc29sYXRlKTsKLSAgICB9Ci0KLSAgICBFeGNlcHRpb25Db2RlRGVzY3Jp
cHRpb24gZGVzY3JpcHRpb24oZWMpOwotCi0gICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGV4Y2Vw
dGlvbjsKLSAgICBzd2l0Y2ggKGRlc2NyaXB0aW9uLnR5cGUpIHsKLSAgICAgICAgRE9NX0VYQ0VQ
VElPTl9JTlRFUkZBQ0VTX0ZPUl9FQUNIKFRSWV9UT19DUkVBVEVfRVhDRVBUSU9OKQotICAgIH0K
LQotICAgIGlmIChleGNlcHRpb24uSXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gdjhVbmRlZmlu
ZWQoKTsKLQotICAgIC8vIEF0dGFjaCBhbiBFcnJvciBvYmplY3QgdG8gdGhlIERPTUV4Y2VwdGlv
bi4gVGhpcyBpcyB0aGVuIGxhemlseSB1c2VkIHRvIGdldCB0aGUgc3RhY2sgdmFsdWUuCi0gICAg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IGVycm9yID0gdjg6OkV4Y2VwdGlvbjo6RXJyb3IodjhTdHJp
bmcoZGVzY3JpcHRpb24uZGVzY3JpcHRpb24sIGlzb2xhdGUpKTsKLSAgICBBU1NFUlQoIWVycm9y
LklzRW1wdHkoKSk7Ci0gICAgQVNTRVJUKGV4Y2VwdGlvbi0+SXNPYmplY3QoKSk7Ci0gICAgZXhj
ZXB0aW9uLT5Ub09iamVjdCgpLT5TZXRBY2Nlc3Nvcih2OFN0cmluZygic3RhY2siLCBpc29sYXRl
KSwgRE9NRXhjZXB0aW9uU3RhY2tHZXR0ZXIsIERPTUV4Y2VwdGlvblN0YWNrU2V0dGVyLCBlcnJv
cik7Ci0KLSAgICByZXR1cm4gdjg6OlRocm93RXhjZXB0aW9uKGV4Y2VwdGlvbik7Ci19Ci0KLSN1
bmRlZiBUUllfVE9fQ1JFQVRFX0VYQ0VQVElPTgotCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhQ
cm94eTo6dGhyb3dFcnJvcihFcnJvclR5cGUgdHlwZSwgY29uc3QgY2hhciogbWVzc2FnZSwgdjg6
Oklzb2xhdGUqIGlzb2xhdGUpCi17Ci0gICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgY2FzZSBSYW5n
ZUVycm9yOgotICAgICAgICByZXR1cm4gdjg6OlRocm93RXhjZXB0aW9uKHY4OjpFeGNlcHRpb246
OlJhbmdlRXJyb3IodjhTdHJpbmcobWVzc2FnZSwgaXNvbGF0ZSkpKTsKLSAgICBjYXNlIFJlZmVy
ZW5jZUVycm9yOgotICAgICAgICByZXR1cm4gdjg6OlRocm93RXhjZXB0aW9uKHY4OjpFeGNlcHRp
b246OlJlZmVyZW5jZUVycm9yKHY4U3RyaW5nKG1lc3NhZ2UsIGlzb2xhdGUpKSk7Ci0gICAgY2Fz
ZSBTeW50YXhFcnJvcjoKLSAgICAgICAgcmV0dXJuIHY4OjpUaHJvd0V4Y2VwdGlvbih2ODo6RXhj
ZXB0aW9uOjpTeW50YXhFcnJvcih2OFN0cmluZyhtZXNzYWdlLCBpc29sYXRlKSkpOwotICAgIGNh
c2UgVHlwZUVycm9yOgotICAgICAgICByZXR1cm4gdjg6OlRocm93RXhjZXB0aW9uKHY4OjpFeGNl
cHRpb246OlR5cGVFcnJvcih2OFN0cmluZyhtZXNzYWdlLCBpc29sYXRlKSkpOwotICAgIGNhc2Ug
R2VuZXJhbEVycm9yOgotICAgICAgICByZXR1cm4gdjg6OlRocm93RXhjZXB0aW9uKHY4OjpFeGNl
cHRpb246OkVycm9yKHY4U3RyaW5nKG1lc3NhZ2UsIGlzb2xhdGUpKSk7Ci0gICAgZGVmYXVsdDoK
LSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiB2OFVuZGVmaW5l
ZCgpOwotICAgIH0KLX0KLQotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4UHJveHk6OnRocm93VHlw
ZUVycm9yKGNvbnN0IGNoYXIqIG1lc3NhZ2UsIHY4OjpJc29sYXRlKiBpc29sYXRlKQotewotICAg
IHJldHVybiB0aHJvd0Vycm9yKFR5cGVFcnJvciwgKG1lc3NhZ2UgPyBtZXNzYWdlIDogIlR5cGUg
ZXJyb3IiKSwgaXNvbGF0ZSk7Ci19Ci0KLXY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFByb3h5Ojp0
aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKHY4OjpJc29sYXRlKiBpc29sYXRlKQotewotICAg
IHJldHVybiB0aHJvd0Vycm9yKFR5cGVFcnJvciwgIk5vdCBlbm91Z2ggYXJndW1lbnRzIiwgaXNv
bGF0ZSk7Ci19Ci0KIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gVjhQcm94eTo6Y29udGV4dChGcmFt
ZSogZnJhbWUpCiB7CiAgICAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBjb250ZXh0ID0gVjhQcm94
eTo6bWFpbldvcmxkQ29udGV4dChmcmFtZSk7CkBAIC02MTMsNyArNTM2LDcgQEAgdjg6OkxvY2Fs
PHY4OjpDb250ZXh0PiBWOFByb3h5OjptYWluV29ybGRDb250ZXh0KEZyYW1lKiBmcmFtZSkKIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBWOFByb3h5OjpjaGVja05ld0xlZ2FsKGNvbnN0IHY4OjpBcmd1
bWVudHMmIGFyZ3MpCiB7CiAgICAgaWYgKENvbnN0cnVjdG9yTW9kZTo6Y3VycmVudCgpID09IENv
bnN0cnVjdG9yTW9kZTo6Q3JlYXRlTmV3T2JqZWN0KQotICAgICAgICByZXR1cm4gdGhyb3dFcnJv
cihUeXBlRXJyb3IsICJJbGxlZ2FsIGNvbnN0cnVjdG9yIiwgYXJncy5HZXRJc29sYXRlKCkpOwor
ICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihTeW50YXhFcnJvciwgIklsbGVnYWwgY29uc3RydWN0
b3IiLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICByZXR1cm4gYXJncy5UaGlzKCk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmgKaW5kZXggZDJlNmRlZDMxOWNiMjU1ODRmMmM1
N2NhMWJkZjY3NGNiMTE3MmQ3NC4uMzgxZjgwZTI0MmM1Zjk3N2IzYjU4ZjUxYTJmZTMzNjJmYTRi
NmExMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuaApAQCAtODQsMTUgKzg0LDYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgVjhQcm94eSB7CiAgICAgcHVibGlj
OgotICAgICAgICAvLyBUaGUgdHlwZXMgb2YgamF2YXNjcmlwdCBlcnJvcnMgdGhhdCBjYW4gYmUg
dGhyb3duLgotICAgICAgICBlbnVtIEVycm9yVHlwZSB7Ci0gICAgICAgICAgICBSYW5nZUVycm9y
LAotICAgICAgICAgICAgUmVmZXJlbmNlRXJyb3IsCi0gICAgICAgICAgICBTeW50YXhFcnJvciwK
LSAgICAgICAgICAgIFR5cGVFcnJvciwKLSAgICAgICAgICAgIEdlbmVyYWxFcnJvcgotICAgICAg
ICB9OwotCiAgICAgICAgIGV4cGxpY2l0IFY4UHJveHkoRnJhbWUqKTsKIAogICAgICAgICB+VjhQ
cm94eSgpOwpAQCAtMTQ5LDE3ICsxNDAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAg
ICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlNjcmlwdD4gY29tcGlsZVNjcmlwdCh2ODo6SGFuZGxl
PHY4OjpTdHJpbmc+IGNvZGUsIGNvbnN0IFN0cmluZyYgZmlsZU5hbWUsIGNvbnN0IFRleHRQb3Np
dGlvbiYgc2NyaXB0U3RhcnRQb3NpdGlvbiwgdjg6OlNjcmlwdERhdGEqID0gMCk7CiAKLSAgICAg
ICAgLy8gSWYgdGhlIGV4Y2VwdGlvbiBjb2RlIGlzIGRpZmZlcmVudCBmcm9tIHplcm8sIGEgRE9N
IGV4Y2VwdGlvbiBpcwotICAgICAgICAvLyBzY2hlZHVsZSB0byBiZSB0aHJvd24uCi0gICAgICAg
IHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gc2V0RE9NRXhjZXB0aW9uKGludCBleGNlcHRp
b25Db2RlLCB2ODo6SXNvbGF0ZSopOwotCi0gICAgICAgIC8vIFNjaGVkdWxlIGFuIGVycm9yIG9i
amVjdCB0byBiZSB0aHJvd24uCi0gICAgICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
dGhyb3dFcnJvcihFcnJvclR5cGUsIGNvbnN0IGNoYXIqIG1lc3NhZ2UsIHY4OjpJc29sYXRlKiA9
IDApOwotCi0gICAgICAgIC8vIEhlbHBlcnMgZm9yIHRocm93aW5nIHN5bnRheCBhbmQgdHlwZSBl
cnJvcnMgd2l0aCBwcmVkZWZpbmVkIG1lc3NhZ2VzLgotICAgICAgICBzdGF0aWMgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHRocm93VHlwZUVycm9yKGNvbnN0IGNoYXIqID0gMCwgdjg6Oklzb2xhdGUq
ID0gMCk7Ci0gICAgICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdGhyb3dOb3RFbm91
Z2hBcmd1bWVudHNFcnJvcih2ODo6SXNvbGF0ZSopOwotCiAgICAgICAgIHY4OjpMb2NhbDx2ODo6
Q29udGV4dD4gY29udGV4dCgpOwogICAgICAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IG1haW5X
b3JsZENvbnRleHQoKTsKICAgICAgICAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBpc29sYXRlZFdv
cmxkQ29udGV4dChpbnQgd29ybGRJZCk7CkBAIC0yMDksMTMgKzE4OSw2IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICB9OwogCiAgICAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiB0b1Y4Q29udGV4
dChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgV29ybGRDb250ZXh0SGFuZGxlJiB3b3Js
ZENvbnRleHQpOwotCi0gICAgaW5saW5lIHY4OjpIYW5kbGU8djg6OlByaW1pdGl2ZT4gdGhyb3dF
cnJvcih2ODo6TG9jYWw8djg6OlZhbHVlPiBleGNlcHRpb24sIHY4OjpJc29sYXRlKiBpc29sYXRl
ID0gMCkKLSAgICB7Ci0gICAgICAgIGlmICghdjg6OlY4OjpJc0V4ZWN1dGlvblRlcm1pbmF0aW5n
KCkpCi0gICAgICAgICAgICB2ODo6VGhyb3dFeGNlcHRpb24oZXhjZXB0aW9uKTsKLSAgICAgICAg
cmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKLSAgICB9CiB9CiAKICNlbmRpZiAvLyBWOFByb3h5X2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4VGhyb3dFeGNlcHRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhUaHJvd0V4Y2VwdGlvbi5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODcwNzZjOWNjY2I3Y2QyZjRmMWFkN2M5MTBjOTExMjE3NjlkYTc2OQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4VGhyb3dFeGNlcHRpb24u
Y3BwCkBAIC0wLDAgKzEsMTE4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJWOFRocm93RXhjZXB0aW9uLmgiCisKKyNpbmNsdWRlICJFeGNlcHRpb25I
ZWFkZXJzLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uSW50ZXJmYWNlcy5oIgorI2luY2x1ZGUgIlY4
QmluZGluZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gRE9NRXhjZXB0aW9uU3RhY2tHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5h
bWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgQVNTRVJUKGluZm8uRGF0
YSgpLT5Jc09iamVjdCgpKTsKKyAgICByZXR1cm4gaW5mby5EYXRhKCktPlRvT2JqZWN0KCktPkdl
dCh2OFN0cmluZygic3RhY2siLCBpbmZvLkdldElzb2xhdGUoKSkpOworfQorCitzdGF0aWMgdm9p
ZCBET01FeGNlcHRpb25TdGFja1NldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgdjg6
OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7
CisgICAgQVNTRVJUKGluZm8uRGF0YSgpLT5Jc09iamVjdCgpKTsKKyAgICBpbmZvLkRhdGEoKS0+
VG9PYmplY3QoKS0+U2V0KHY4U3RyaW5nKCJzdGFjayIsIGluZm8uR2V0SXNvbGF0ZSgpKSwgdmFs
dWUpOworfQorCisjZGVmaW5lIFRSWV9UT19DUkVBVEVfRVhDRVBUSU9OKGludGVyZmFjZU5hbWUp
IFwKKyAgICBjYXNlIGludGVyZmFjZU5hbWUjI1R5cGU6IFwKKyAgICAgICAgZXhjZXB0aW9uID0g
dG9WOChpbnRlcmZhY2VOYW1lOjpjcmVhdGUoZGVzY3JpcHRpb24pLCBpc29sYXRlKTsgXAorICAg
ICAgICBicmVhazsKKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4VGhyb3dFeGNlcHRpb246OnNl
dERPTUV4Y2VwdGlvbihpbnQgZWMsIHY4OjpJc29sYXRlKiBpc29sYXRlKQoreworICAgIGlmIChl
YyA8PSAwIHx8IHY4OjpWODo6SXNFeGVjdXRpb25UZXJtaW5hdGluZygpKQorICAgICAgICByZXR1
cm4gdjhVbmRlZmluZWQoKTsKKworICAgIGlmIChlYyA9PSBOQVRJVkVfVFlQRV9FUlIpIHsKKyAg
ICAgICAgY29uc3QgY2hhciogbWVzc2FnZSA9IDA7CisgICAgICAgIHJldHVybiBWOFRocm93RXhj
ZXB0aW9uOjp0aHJvd1R5cGVFcnJvcihtZXNzYWdlLCBpc29sYXRlKTsKKyAgICB9CisKKyAgICBF
eGNlcHRpb25Db2RlRGVzY3JpcHRpb24gZGVzY3JpcHRpb24oZWMpOworCisgICAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IGV4Y2VwdGlvbjsKKyAgICBzd2l0Y2ggKGRlc2NyaXB0aW9uLnR5cGUpIHsK
KyAgICAgICAgRE9NX0VYQ0VQVElPTl9JTlRFUkZBQ0VTX0ZPUl9FQUNIKFRSWV9UT19DUkVBVEVf
RVhDRVBUSU9OKQorICAgIH0KKworICAgIGlmIChleGNlcHRpb24uSXNFbXB0eSgpKQorICAgICAg
ICByZXR1cm4gdjhVbmRlZmluZWQoKTsKKworICAgIC8vIEF0dGFjaCBhbiBFcnJvciBvYmplY3Qg
dG8gdGhlIERPTUV4Y2VwdGlvbi4gVGhpcyBpcyB0aGVuIGxhemlseSB1c2VkIHRvIGdldCB0aGUg
c3RhY2sgdmFsdWUuCisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGVycm9yID0gdjg6OkV4Y2Vw
dGlvbjo6RXJyb3IodjhTdHJpbmcoZGVzY3JpcHRpb24uZGVzY3JpcHRpb24sIGlzb2xhdGUpKTsK
KyAgICBBU1NFUlQoIWVycm9yLklzRW1wdHkoKSk7CisgICAgQVNTRVJUKGV4Y2VwdGlvbi0+SXNP
YmplY3QoKSk7CisgICAgZXhjZXB0aW9uLT5Ub09iamVjdCgpLT5TZXRBY2Nlc3Nvcih2OFN0cmlu
Zygic3RhY2siLCBpc29sYXRlKSwgRE9NRXhjZXB0aW9uU3RhY2tHZXR0ZXIsIERPTUV4Y2VwdGlv
blN0YWNrU2V0dGVyLCBlcnJvcik7CisKKyAgICByZXR1cm4gdjg6OlRocm93RXhjZXB0aW9uKGV4
Y2VwdGlvbik7Cit9CisKKyN1bmRlZiBUUllfVE9fQ1JFQVRFX0VYQ0VQVElPTgorCit2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhUaHJvd0V4Y2VwdGlvbjo6dGhyb3dFcnJvcihFcnJvclR5cGUgdHlw
ZSwgY29uc3QgY2hhciogbWVzc2FnZSwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCit7CisgICAgc3dp
dGNoICh0eXBlKSB7CisgICAgY2FzZSBSYW5nZUVycm9yOgorICAgICAgICByZXR1cm4gdjg6OlRo
cm93RXhjZXB0aW9uKHY4OjpFeGNlcHRpb246OlJhbmdlRXJyb3IodjhTdHJpbmcobWVzc2FnZSwg
aXNvbGF0ZSkpKTsKKyAgICBjYXNlIFJlZmVyZW5jZUVycm9yOgorICAgICAgICByZXR1cm4gdjg6
OlRocm93RXhjZXB0aW9uKHY4OjpFeGNlcHRpb246OlJlZmVyZW5jZUVycm9yKHY4U3RyaW5nKG1l
c3NhZ2UsIGlzb2xhdGUpKSk7CisgICAgY2FzZSBTeW50YXhFcnJvcjoKKyAgICAgICAgcmV0dXJu
IHY4OjpUaHJvd0V4Y2VwdGlvbih2ODo6RXhjZXB0aW9uOjpTeW50YXhFcnJvcih2OFN0cmluZyht
ZXNzYWdlLCBpc29sYXRlKSkpOworICAgIGNhc2UgVHlwZUVycm9yOgorICAgICAgICByZXR1cm4g
djg6OlRocm93RXhjZXB0aW9uKHY4OjpFeGNlcHRpb246OlR5cGVFcnJvcih2OFN0cmluZyhtZXNz
YWdlLCBpc29sYXRlKSkpOworICAgIGNhc2UgR2VuZXJhbEVycm9yOgorICAgICAgICByZXR1cm4g
djg6OlRocm93RXhjZXB0aW9uKHY4OjpFeGNlcHRpb246OkVycm9yKHY4U3RyaW5nKG1lc3NhZ2Us
IGlzb2xhdGUpKSk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgIHJldHVybiB2OFVuZGVmaW5lZCgpOworICAgIH0KK30KKwordjg6OkhhbmRsZTx2
ODo6VmFsdWU+IFY4VGhyb3dFeGNlcHRpb246OnRocm93VHlwZUVycm9yKGNvbnN0IGNoYXIqIG1l
c3NhZ2UsIHY4OjpJc29sYXRlKiBpc29sYXRlKQoreworICAgIHJldHVybiBWOFRocm93RXhjZXB0
aW9uOjp0aHJvd0Vycm9yKFR5cGVFcnJvciwgKG1lc3NhZ2UgPyBtZXNzYWdlIDogIlR5cGUgZXJy
b3IiKSwgaXNvbGF0ZSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFRocm93RXhjZXB0
aW9uOjp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKHY4OjpJc29sYXRlKiBpc29sYXRlKQor
eworICAgIHJldHVybiBWOFRocm93RXhjZXB0aW9uOjp0aHJvd0Vycm9yKFR5cGVFcnJvciwgIk5v
dCBlbm91Z2ggYXJndW1lbnRzIiwgaXNvbGF0ZSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVl
PiBWOFRocm93RXhjZXB0aW9uOjp0aHJvd0Vycm9yKHY4OjpMb2NhbDx2ODo6VmFsdWU+IGV4Y2Vw
dGlvbiwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCit7CisgICAgaWYgKCF2ODo6Vjg6OklzRXhlY3V0
aW9uVGVybWluYXRpbmcoKSkKKyAgICAgICAgdjg6OlRocm93RXhjZXB0aW9uKGV4Y2VwdGlvbik7
CisgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhUaHJvd0V4Y2VwdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhUaHJvd0V4Y2VwdGlvbi5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjVmYzExMmQzYWU1NzEzYzllNDg4NWVhYTI5ODA5ZTNlN2UwNGVlNTMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFRocm93RXhjZXB0aW9uLmgK
QEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFY4VGhyb3dFeGNlcHRp
b25faAorI2RlZmluZSBWOFRocm93RXhjZXB0aW9uX2gKKworI2luY2x1ZGUgIkV4Y2VwdGlvbkNv
ZGUuaCIKKyNpbmNsdWRlIDx2OC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIFRoZSB0
eXBlcyBvZiBqYXZhc2NyaXB0IGVycm9ycyB0aGF0IGNhbiBiZSB0aHJvd24uCitlbnVtIEVycm9y
VHlwZSB7CisgICAgUmFuZ2VFcnJvciwKKyAgICBSZWZlcmVuY2VFcnJvciwKKyAgICBTeW50YXhF
cnJvciwKKyAgICBUeXBlRXJyb3IsCisgICAgR2VuZXJhbEVycm9yCit9OworCitjbGFzcyBWOFRo
cm93RXhjZXB0aW9uIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHNldERPTUV4Y2VwdGlvbihpbnQsIHY4OjpJc29sYXRlKik7CisKKyAgICBzdGF0aWMgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHRocm93RXJyb3IoRXJyb3JUeXBlLCBjb25zdCBjaGFyKiwgdjg6Oklz
b2xhdGUqID0gMCk7CisgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0aHJvd0Vycm9y
KHY4OjpMb2NhbDx2ODo6VmFsdWU+LCB2ODo6SXNvbGF0ZSogPSAwKTsKKworICAgIHN0YXRpYyB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdGhyb3dUeXBlRXJyb3IoY29uc3QgY2hhciogPSAwLCB2ODo6
SXNvbGF0ZSogPSAwKTsKKyAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRocm93Tm90
RW5vdWdoQXJndW1lbnRzRXJyb3Iodjg6Oklzb2xhdGUqKTsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIFY4VGhyb3dFeGNlcHRpb25faApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhVdGlsaXRpZXMuY3BwCmluZGV4IDBmNDhiNTg3NmE3MTg5NDYzMzA0NWYx
ZWIxOWUyOWNlN2M4ODFjM2EuLmIwODIwYjFhZTA3Nzc0YWM0OWU4ZDJjNmYwMTZmMzY1NWY4ODNh
NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4VXRpbGl0aWVzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFV0aWxpdGllcy5jcHAKQEAgLTEw
Nyw3ICsxMDcsNyBAQCBib29sIGV4dHJhY3RUcmFuc2ZlcmFibGVzKHY4OjpMb2NhbDx2ODo6VmFs
dWU+IHZhbHVlLCBNZXNzYWdlUG9ydEFycmF5JiBwb3J0cywgQQogICAgICAgICB2ODo6TG9jYWw8
djg6OlZhbHVlPiB0cmFuc2ZlcnJhYmxlID0gdHJhbnNmZXJyYWJsZXMtPkdldChpKTsKICAgICAg
ICAgLy8gVmFsaWRhdGlvbiBvZiBub24tbnVsbCBvYmplY3RzLCBwZXIgSFRNTDUgc3BlYyAxMC4z
LjMuCiAgICAgICAgIGlmIChpc1VuZGVmaW5lZE9yTnVsbCh0cmFuc2ZlcnJhYmxlKSkgewotICAg
ICAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKERBVEFfQ0xPTkVfRVJSLCBpc29sYXRl
KTsKKyAgICAgICAgICAgIHNldERPTUV4Y2VwdGlvbihEQVRBX0NMT05FX0VSUiwgaXNvbGF0ZSk7
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KICAgICAgICAgLy8gVmFsaWRh
dGlvbiBvZiBPYmplY3RzIGltcGxlbWVudGluZyBhbiBpbnRlcmZhY2UsIHBlciBXZWJJREwgc3Bl
YyA0LjEuMTUuCkBAIC0xMTYsNyArMTE2LDcgQEAgYm9vbCBleHRyYWN0VHJhbnNmZXJhYmxlcyh2
ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgTWVzc2FnZVBvcnRBcnJheSYgcG9ydHMsIEEKICAg
ICAgICAgZWxzZSBpZiAoVjhBcnJheUJ1ZmZlcjo6SGFzSW5zdGFuY2UodHJhbnNmZXJyYWJsZSkp
CiAgICAgICAgICAgICBhcnJheUJ1ZmZlcnMuYXBwZW5kKFY4QXJyYXlCdWZmZXI6OnRvTmF0aXZl
KHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QodHJhbnNmZXJyYWJsZSkpKTsKICAgICAgICAg
ZWxzZSB7Ci0gICAgICAgICAgICBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigpOworICAgICAgICAg
ICAgdGhyb3dUeXBlRXJyb3IoKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
fQogICAgIH0KQEAgLTEzMCw3ICsxMzAsNyBAQCBib29sIGdldE1lc3NhZ2VQb3J0QXJyYXkodjg6
OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIE1lc3NhZ2VQb3J0QXJyYXkmIHBvcnRzLCB2OAogICAg
IGlmICghcmVzdWx0KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKGFycmF5QnVmZmVy
cy5zaXplKCkgPiAwKSB7Ci0gICAgICAgIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJNZXNzYWdl
UG9ydEFycmF5IGFyZ3VtZW50IG11c3QgY29udGFpbiBvbmx5IE1lc3NhZ2VQb3J0cyIpOworICAg
ICAgICB0aHJvd1R5cGVFcnJvcigiTWVzc2FnZVBvcnRBcnJheSBhcmd1bWVudCBtdXN0IGNvbnRh
aW4gb25seSBNZXNzYWdlUG9ydHMiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAg
ICByZXR1cm4gdHJ1ZTsKQEAgLTE5Myw3ICsxOTMsNyBAQCBTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkKIAogdm9pZCBzZXRUeXBlTWlzbWF0Y2hFeGNl
cHRpb24odjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7Ci0gICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0
aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBpc29sYXRlKTsKKyAgICBzZXRET01FeGNlcHRpb24oVFlQ
RV9NSVNNQVRDSF9FUlIsIGlzb2xhdGUpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0
aW9uUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4
ZWN1dGlvblByb3h5LmNwcAppbmRleCA3NTJhYWE3YTJkNjQ2YmMyOWI2NmFkMTc3MjAxM2M1ZTc4
MjQzYjFhLi41Yzg0MzgwOWVlNGEzMTkzMGVjYjFjMGNhNDRjMzk5YTgyZjNjZDk4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVj
dXRpb25Qcm94eS5jcHAKQEAgLTIyOCw3ICsyMjgsNyBAQCBTY3JpcHRWYWx1ZSBXb3JrZXJDb250
ZXh0RXhlY3V0aW9uUHJveHk6OmV2YWx1YXRlKGNvbnN0IFN0cmluZyYgc2NyaXB0LCBjb25zdCBT
dAogICAgICAgICBzdGF0ZS0+bGluZU51bWJlciA9IG1lc3NhZ2UtPkdldExpbmVOdW1iZXIoKTsK
ICAgICAgICAgc3RhdGUtPnNvdXJjZVVSTCA9IHRvV2ViQ29yZVN0cmluZyhtZXNzYWdlLT5HZXRT
Y3JpcHRSZXNvdXJjZU5hbWUoKSk7CiAgICAgICAgIGlmIChtX3dvcmtlckNvbnRleHQtPnNhbml0
aXplU2NyaXB0RXJyb3Ioc3RhdGUtPmVycm9yTWVzc2FnZSwgc3RhdGUtPmxpbmVOdW1iZXIsIHN0
YXRlLT5zb3VyY2VVUkwpKQotICAgICAgICAgICAgc3RhdGUtPmV4Y2VwdGlvbiA9IFY4UHJveHk6
OnRocm93RXJyb3IoVjhQcm94eTo6R2VuZXJhbEVycm9yLCBzdGF0ZS0+ZXJyb3JNZXNzYWdlLnV0
ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgc3RhdGUtPmV4Y2VwdGlvbiA9IHRocm93RXJyb3Io
R2VuZXJhbEVycm9yLCBzdGF0ZS0+ZXJyb3JNZXNzYWdlLnV0ZjgoKS5kYXRhKCkpOwogICAgICAg
ICBlbHNlCiAgICAgICAgICAgICBzdGF0ZS0+ZXhjZXB0aW9uID0gU2NyaXB0VmFsdWUoZXhjZXB0
aW9uQ2F0Y2hlci5FeGNlcHRpb24oKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyQ3VzdG9tLmNwcAppbmRleCBlNzE4MjVk
NzBjYmUwOGFkNTc5MWFkMDU3NGJiOGEwZGI5NzdiMTlhLi5hZGJlYWNkZjhlZWFlYjNiNzAzM2I3
ODFjYzFlZjhmYjU3NDZkNWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhBcnJheUJ1ZmZlckN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJDdXN0b20uY3BwCkBAIC00Myw3ICs0Myw3IEBA
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEFycmF5QnVmZmVyOjpjb25zdHJ1Y3RvckNhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyCiAgICAgSU5DX1NUQVRTKCJET00uQXJyYXlCdWZmZXIu
Q29uc3RydWN0b3IiKTsKIAogICAgIGlmICghYXJncy5Jc0NvbnN0cnVjdENhbGwoKSkKLSAgICAg
ICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9y
IGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4iLCBhcmdzLkdldElzb2xhdGUoKSk7Cisg
ICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5u
b3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAg
aWYgKENvbnN0cnVjdG9yTW9kZTo6Y3VycmVudCgpID09IENvbnN0cnVjdG9yTW9kZTo6V3JhcEV4
aXN0aW5nT2JqZWN0KQogICAgICAgICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKQEAgLTcwLDcgKzcw
LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4QXJyYXlCdWZmZXI6OmNvbnN0cnVjdG9yQ2Fs
bGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXIKICAgICBpZiAobGVuZ3RoID49IDApCiAgICAg
ICAgIGJ1ZmZlciA9IEFycmF5QnVmZmVyOjpjcmVhdGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGxl
bmd0aCksIDEpOwogICAgIGlmICghYnVmZmVyLmdldCgpKQotICAgICAgICByZXR1cm4gVjhQcm94
eTo6dGhyb3dFcnJvcihWOFByb3h5OjpSYW5nZUVycm9yLCAiQXJyYXlCdWZmZXIgc2l6ZSBpcyBu
b3QgYSBzbWFsbCBlbm91Z2ggcG9zaXRpdmUgaW50ZWdlci4iLCBhcmdzLkdldElzb2xhdGUoKSk7
CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFJhbmdlRXJyb3IsICJBcnJheUJ1ZmZlciBzaXpl
IGlzIG5vdCBhIHNtYWxsIGVub3VnaCBwb3NpdGl2ZSBpbnRlZ2VyLiIsIGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKICAgICAvLyBUcmFuc2Zvcm0gdGhlIGhvbGRlciBpbnRvIGEgd3JhcHBlciBvYmplY3Qg
Zm9yIHRoZSBhcnJheS4KICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBhcmdz
LkhvbGRlcigpOwogICAgIFY4RE9NV3JhcHBlcjo6c2V0RE9NV3JhcHBlcih3cmFwcGVyLCAmaW5m
bywgYnVmZmVyLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3Q3VzdG9tLmgKaW5kZXggMjc3Yzk3OGQwZGY2
NDAzMGViMjk2OTk1YWZiNTVlOWMxYmJlY2U0NC4uNDBkYjQzOTIzY2E0ZDhmZWY1YmJiZmYxZjAy
Y2E4NWRmMDY5YjhjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4QXJyYXlCdWZmZXJWaWV3Q3VzdG9tLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3Q3VzdG9tLmgKQEAgLTYzLDI4ICs2MywyOCBA
QCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY29uc3RydWN0V2ViR0xBcnJheVdpdGhBcnJheUJ1ZmZl
ckFyZ3VtZW50KGNvbnN0IHY4OjpBcmd1bQogewogICAgIEFycmF5QnVmZmVyKiBidWYgPSBWOEFy
cmF5QnVmZmVyOjp0b05hdGl2ZShhcmdzWzBdLT5Ub09iamVjdCgpKTsKICAgICBpZiAoIWJ1ZikK
LSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJDb3VsZCBub3QgY29udmVy
dCBhcmd1bWVudCAwIHRvIGEgQXJyYXlCdWZmZXIiLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAg
ICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigiQ291bGQgbm90IGNvbnZlcnQgYXJndW1lbnQgMCB0
byBhIEFycmF5QnVmZmVyIiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIGJvb2wgb2s7CiAgICAg
dWludDMyX3Qgb2Zmc2V0ID0gMDsKICAgICBpbnQgYXJnTGVuID0gYXJncy5MZW5ndGgoKTsKICAg
ICBpZiAoYXJnTGVuID4gMSkgewogICAgICAgICBvZmZzZXQgPSB0b1VJbnQzMihhcmdzWzFdLCBv
ayk7CiAgICAgICAgIGlmICghb2spCi0gICAgICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dU
eXBlRXJyb3IoIkNvdWxkIG5vdCBjb252ZXJ0IGFyZ3VtZW50IDEgdG8gYSBudW1iZXIiLCBhcmdz
LkdldElzb2xhdGUoKSk7CisgICAgICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkNvdWxk
IG5vdCBjb252ZXJ0IGFyZ3VtZW50IDEgdG8gYSBudW1iZXIiLCBhcmdzLkdldElzb2xhdGUoKSk7
CiAgICAgfQogICAgIHVpbnQzMl90IGxlbmd0aCA9IDA7CiAgICAgaWYgKGFyZ0xlbiA+IDIpIHsK
ICAgICAgICAgbGVuZ3RoID0gdG9VSW50MzIoYXJnc1syXSwgb2spOwogICAgICAgICBpZiAoIW9r
KQotICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJDb3VsZCBub3Qg
Y29udmVydCBhcmd1bWVudCAyIHRvIGEgbnVtYmVyIiwgYXJncy5HZXRJc29sYXRlKCkpOworICAg
ICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKCJDb3VsZCBub3QgY29udmVydCBhcmd1bWVu
dCAyIHRvIGEgbnVtYmVyIiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIH0gZWxzZSB7CiAgICAg
ICAgIGlmICgoYnVmLT5ieXRlTGVuZ3RoKCkgLSBvZmZzZXQpICUgc2l6ZW9mKEVsZW1lbnRUeXBl
KSkKLSAgICAgICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJhbmdl
RXJyb3IsICJBcnJheUJ1ZmZlciBsZW5ndGggbWludXMgdGhlIGJ5dGVPZmZzZXQgaXMgbm90IGEg
bXVsdGlwbGUgb2YgdGhlIGVsZW1lbnQgc2l6ZS4iLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAg
ICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihSYW5nZUVycm9yLCAiQXJyYXlCdWZmZXIgbGVuZ3Ro
IG1pbnVzIHRoZSBieXRlT2Zmc2V0IGlzIG5vdCBhIG11bHRpcGxlIG9mIHRoZSBlbGVtZW50IHNp
emUuIiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICBsZW5ndGggPSAoYnVmLT5ieXRlTGVu
Z3RoKCkgLSBvZmZzZXQpIC8gc2l6ZW9mKEVsZW1lbnRUeXBlKTsKICAgICB9CiAgICAgUmVmUHRy
PEFycmF5Q2xhc3M+IGFycmF5ID0gQXJyYXlDbGFzczo6Y3JlYXRlKGJ1Ziwgb2Zmc2V0LCBsZW5n
dGgpOwogICAgIGlmICghYXJyYXkpCi0gICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNl
cHRpb24oSU5ERVhfU0laRV9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJu
IHNldERPTUV4Y2VwdGlvbihJTkRFWF9TSVpFX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAg
ICAgcmV0dXJuIHdyYXBBcnJheUJ1ZmZlclZpZXcoYXJncywgdHlwZSwgYXJyYXksIGFycmF5VHlw
ZSwgaGFzSW5kZXhlcik7CiB9CkBAIC05Niw3ICs5Niw3IEBAIHRlbXBsYXRlPGNsYXNzIEFycmF5
Q2xhc3MsIGNsYXNzIEphdmFTY3JpcHRXcmFwcGVyQXJyYXlUeXBlLCBjbGFzcyBFbGVtZW50VHlw
ZT4KIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjb25zdHJ1Y3RXZWJHTEFycmF5KGNvbnN0IHY4OjpB
cmd1bWVudHMmIGFyZ3MsIFdyYXBwZXJUeXBlSW5mbyogdHlwZSwgdjg6OkV4dGVybmFsQXJyYXlU
eXBlIGFycmF5VHlwZSkKIHsKICAgICBpZiAoIWFyZ3MuSXNDb25zdHJ1Y3RDYWxsKCkpCi0gICAg
ICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiRE9NIG9iamVjdCBjb25zdHJ1Y3Rv
ciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIiwgYXJncy5HZXRJc29sYXRlKCkpOwor
ICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fu
bm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAg
IGlmIChDb25zdHJ1Y3Rvck1vZGU6OmN1cnJlbnQoKSA9PSBDb25zdHJ1Y3Rvck1vZGU6OldyYXBF
eGlzdGluZ09iamVjdCkKICAgICAgICAgcmV0dXJuIGFyZ3MuSG9sZGVyKCk7CkBAIC0xMzAsNyAr
MTMwLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVjdFdlYkdMQXJyYXkoY29uc3Qg
djg6OkFyZ3VtZW50cyYgYXJncywgV3JhcHBlclR5cGUKIAogICAgIGlmIChhcmdzWzBdLT5Jc051
bGwoKSkgewogICAgICAgICAvLyBJbnZhbGlkIGZpcnN0IGFyZ3VtZW50Ci0gICAgICAgIHJldHVy
biBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAg
IHJldHVybiB0aHJvd1R5cGVFcnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgfQogCiAg
ICAgLy8gU2VlIHdoZXRoZXIgdGhlIGZpcnN0IGFyZ3VtZW50IGlzIGEgQXJyYXlCdWZmZXIuCkBA
IC0xNDQsNyArMTQ0LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVjdFdlYkdMQXJy
YXkoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywgV3JhcHBlclR5cGUKICAgICAgICAgdWludDMy
X3QgbGVuZ3RoID0gc291cmNlLT5sZW5ndGgoKTsKICAgICAgICAgUmVmUHRyPEFycmF5Q2xhc3M+
IGFycmF5ID0gQXJyYXlDbGFzczo6Y3JlYXRlVW5pbml0aWFsaXplZChsZW5ndGgpOwogICAgICAg
ICBpZiAoIWFycmF5LmdldCgpKQotICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJy
b3IoVjhQcm94eTo6UmFuZ2VFcnJvciwgbm90U21hbGxFbm91Z2hTaXplLCBhcmdzLkdldElzb2xh
dGUoKSk7CisgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihSYW5nZUVycm9yLCBub3RTbWFs
bEVub3VnaFNpemUsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgICAgICBtZW1jcHkoYXJyYXkt
PmJhc2VBZGRyZXNzKCksIHNvdXJjZS0+YmFzZUFkZHJlc3MoKSwgbGVuZ3RoICogc2l6ZW9mKEVs
ZW1lbnRUeXBlKSk7CiAKQEAgLTE1OCw3ICsxNTgsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
Y29uc3RydWN0V2ViR0xBcnJheShjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzLCBXcmFwcGVyVHlw
ZQogICAgIGlmIChhcmdzWzBdLT5Jc09iamVjdCgpKSB7CiAgICAgICAgIHNyY0FycmF5ID0gYXJn
c1swXS0+VG9PYmplY3QoKTsKICAgICAgICAgaWYgKHNyY0FycmF5LklzRW1wdHkoKSkKLSAgICAg
ICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiQ291bGQgbm90IGNvbnZlcnQg
YXJndW1lbnQgMCB0byBhbiBhcnJheSIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgICAg
IHJldHVybiB0aHJvd1R5cGVFcnJvcigiQ291bGQgbm90IGNvbnZlcnQgYXJndW1lbnQgMCB0byBh
biBhcnJheSIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgbGVuID0gdG9VSW50MzIoc3Jj
QXJyYXktPkdldCh2ODo6U3RyaW5nOjpOZXcoImxlbmd0aCIpKSk7CiAgICAgICAgIGRvSW5zdGFu
dGlhdGlvbiA9IHRydWU7CiAgICAgfSBlbHNlIHsKQEAgLTE3OSw3ICsxNzksNyBAQCB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gY29uc3RydWN0V2ViR0xBcnJheShjb25zdCB2ODo6QXJndW1lbnRzJiBh
cmdzLCBXcmFwcGVyVHlwZQogICAgIH0KIAogICAgIGlmICghYXJyYXkuZ2V0KCkpCi0gICAgICAg
IHJldHVybiBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJhbmdlRXJyb3IsIG5vdFNtYWxs
RW5vdWdoU2l6ZSwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJv
cihSYW5nZUVycm9yLCBub3RTbWFsbEVub3VnaFNpemUsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAog
CiAgICAgLy8gVHJhbnNmb3JtIHRoZSBob2xkZXIgaW50byBhIHdyYXBwZXIgb2JqZWN0IGZvciB0
aGUgYXJyYXkuCkBAIC0yMDQsNyArMjA0LDcgQEAgdGVtcGxhdGUgPGNsYXNzIENQbHVzUGx1c0Fy
cmF5VHlwZSwgY2xhc3MgSmF2YVNjcmlwdFdyYXBwZXJBcnJheVR5cGU+CiB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gc2V0V2ViR0xBcnJheUhlbHBlcihjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQog
ewogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNl
dERPTUV4Y2VwdGlvbihTWU5UQVhfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJl
dHVybiBzZXRET01FeGNlcHRpb24oU1lOVEFYX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAg
ICAgQ1BsdXNQbHVzQXJyYXlUeXBlKiBpbXBsID0gSmF2YVNjcmlwdFdyYXBwZXJBcnJheVR5cGU6
OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogCkBAIC0yMTUsNyArMjE1LDcgQEAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHNldFdlYkdMQXJyYXlIZWxwZXIoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJn
cykKICAgICAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPT0gMikKICAgICAgICAgICAgIG9mZnNldCA9
IHRvVUludDMyKGFyZ3NbMV0pOwogICAgICAgICBpZiAoIWltcGwtPnNldChzcmMsIG9mZnNldCkp
Ci0gICAgICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKElOREVYX1NJWkVf
RVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0
aW9uKElOREVYX1NJWkVfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgICAgIHJldHVybiB2
ODo6VW5kZWZpbmVkKCk7CiAgICAgfQogCkBAIC0yMzAsNyArMjMwLDcgQEAgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IHNldFdlYkdMQXJyYXlIZWxwZXIoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykK
ICAgICAgICAgICAgIHx8IG9mZnNldCArIGxlbmd0aCA+IGltcGwtPmxlbmd0aCgpCiAgICAgICAg
ICAgICB8fCBvZmZzZXQgKyBsZW5ndGggPCBvZmZzZXQpIHsKICAgICAgICAgICAgIC8vIE91dCBv
ZiByYW5nZSBvZmZzZXQgb3Igb3ZlcmZsb3cKLSAgICAgICAgICAgIHJldHVybiBWOFByb3h5Ojpz
ZXRET01FeGNlcHRpb24oSU5ERVhfU0laRV9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAg
ICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oSU5ERVhfU0laRV9FUlIsIGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKICAgICAgICAgfQogICAgICAgICBib29sIGNvcGllZCA9IGNvcHlFbGVtZW50cyhh
cmdzLkhvbGRlcigpLCBhcnJheSwgbGVuZ3RoLCBvZmZzZXQsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsK
ICAgICAgICAgaWYgKCFjb3BpZWQpIHsKQEAgLTI0MCw3ICsyNDAsNyBAQCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gc2V0V2ViR0xBcnJheUhlbHBlcihjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQog
ICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogICAgIH0KIAotICAgIHJldHVybiBWOFBy
b3h5OjpzZXRET01FeGNlcHRpb24oU1lOVEFYX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOworICAg
IHJldHVybiBzZXRET01FeGNlcHRpb24oU1lOVEFYX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwog
fQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhB
dWRpb0J1ZmZlclNvdXJjZU5vZGVDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4QXVkaW9CdWZmZXJTb3VyY2VOb2RlQ3VzdG9tLmNwcAppbmRleCBjZjIxMmQz
NDlkNWRhNDU1MzgwNTNkNjBjOTExZjMxZGUxNjhkZDc2Li4wZmQ5NTA2ZDc0YTQwNGNiMjY2NGI5
ZGM5MTU3ODk2YWNmYjczZjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhBdWRpb0J1ZmZlclNvdXJjZU5vZGVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEF1ZGlvQnVmZmVyU291cmNlTm9kZUN1c3RvbS5j
cHAKQEAgLTQ3LDEzICs0NywxMyBAQCB2b2lkIFY4QXVkaW9CdWZmZXJTb3VyY2VOb2RlOjpidWZm
ZXJBY2Nlc3NvclNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgdgogICAgIGlmIChW
OEF1ZGlvQnVmZmVyOjpIYXNJbnN0YW5jZSh2YWx1ZSkpIHsKICAgICAgICAgYnVmZmVyID0gVjhB
dWRpb0J1ZmZlcjo6dG9OYXRpdmUodmFsdWUtPlRvT2JqZWN0KCkpOwogICAgICAgICBpZiAoYnVm
ZmVyICYmICFpbXAtPnNldEJ1ZmZlcihidWZmZXIpKSB7Ci0gICAgICAgICAgICBWOFByb3h5Ojp0
aHJvd1R5cGVFcnJvcigiQXVkaW9CdWZmZXIgdW5zdXBwb3J0ZWQgbnVtYmVyIG9mIGNoYW5uZWxz
IiwgaW5mby5HZXRJc29sYXRlKCkpOworICAgICAgICAgICAgdGhyb3dUeXBlRXJyb3IoIkF1ZGlv
QnVmZmVyIHVuc3VwcG9ydGVkIG51bWJlciBvZiBjaGFubmVscyIsIGluZm8uR2V0SXNvbGF0ZSgp
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KICAgICAKICAgICBpZiAo
IWJ1ZmZlcikgewotICAgICAgICBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiVmFsdWUgaXMgbm90
IG9mIHR5cGUgQXVkaW9CdWZmZXIiLCBpbmZvLkdldElzb2xhdGUoKSk7CisgICAgICAgIHRocm93
VHlwZUVycm9yKCJWYWx1ZSBpcyBub3Qgb2YgdHlwZSBBdWRpb0J1ZmZlciIsIGluZm8uR2V0SXNv
bGF0ZSgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEF1ZGlvQ29udGV4dEN1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBdWRpb0NvbnRleHRDdXN0b20uY3BwCmlu
ZGV4IDJlZTgxZWIyNzA0ZjBkNmRmY2Y4YTdiNGZlNzliYWVlOTA1NjM2YmUuLjEzZDBkMjY5OWJi
YzNlNjk1ZTZjODg4ODFhNzVmODU3OTEwODUzZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEF1ZGlvQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXVkaW9Db250ZXh0Q3VzdG9tLmNwcApAQCAt
NDUsMTggKzQ1LDE4IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEF1ZGlvQ29udGV4dDo6Y29u
c3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhCiAgICAgSU5DX1NUQVRTKCJE
T00uQXVkaW9Db250ZXh0LkNvbnRydWN0b3IiKTsKIAogICAgIGlmICghYXJncy5Jc0NvbnN0cnVj
dENhbGwoKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJBdWRpb0Nv
bnRleHQgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIsIGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKCJBdWRpb0NvbnRl
eHQgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIsIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKIAogICAgIGlmIChDb25zdHJ1Y3Rvck1vZGU6OmN1cnJlbnQoKSA9PSBDb25z
dHJ1Y3Rvck1vZGU6OldyYXBFeGlzdGluZ09iamVjdCkKICAgICAgICAgcmV0dXJuIGFyZ3MuSG9s
ZGVyKCk7CiAKICAgICBGcmFtZSogZnJhbWUgPSBjdXJyZW50RnJhbWUoQmluZGluZ1N0YXRlOjpp
bnN0YW5jZSgpKTsKICAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhy
b3dFcnJvcihWOFByb3h5OjpSZWZlcmVuY2VFcnJvciwgIkF1ZGlvQ29udGV4dCBjb25zdHJ1Y3Rv
ciBhc3NvY2lhdGVkIGZyYW1lIGlzIHVuYXZhaWxhYmxlIiwgYXJncy5HZXRJc29sYXRlKCkpOwor
ICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihSZWZlcmVuY2VFcnJvciwgIkF1ZGlvQ29udGV4dCBj
b25zdHJ1Y3RvciBhc3NvY2lhdGVkIGZyYW1lIGlzIHVuYXZhaWxhYmxlIiwgYXJncy5HZXRJc29s
YXRlKCkpOwogCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUtPmRvY3VtZW50KCk7CiAg
ICAgaWYgKCFkb2N1bWVudCkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3IoVjhQ
cm94eTo6UmVmZXJlbmNlRXJyb3IsICJBdWRpb0NvbnRleHQgY29uc3RydWN0b3IgYXNzb2NpYXRl
ZCBkb2N1bWVudCBpcyB1bmF2YWlsYWJsZSIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAg
cmV0dXJuIHRocm93RXJyb3IoUmVmZXJlbmNlRXJyb3IsICJBdWRpb0NvbnRleHQgY29uc3RydWN0
b3IgYXNzb2NpYXRlZCBkb2N1bWVudCBpcyB1bmF2YWlsYWJsZSIsIGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKIAogICAgIFJlZlB0cjxBdWRpb0NvbnRleHQ+IGF1ZGlvQ29udGV4dDsKICAgICAKQEAgLTY1
LDM3ICs2NSwzNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhBdWRpb0NvbnRleHQ6OmNvbnN0
cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYQogICAgICAgICBFeGNlcHRpb25D
b2RlIGVjID0gMDsKICAgICAgICAgYXVkaW9Db250ZXh0ID0gQXVkaW9Db250ZXh0OjpjcmVhdGUo
ZG9jdW1lbnQsIGVjKTsKICAgICAgICAgaWYgKGVjKQotICAgICAgICAgICAgcmV0dXJuIFY4UHJv
eHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICAgICAg
cmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICBp
ZiAoIWF1ZGlvQ29udGV4dC5nZXQoKSkKLSAgICAgICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJv
d0Vycm9yKFY4UHJveHk6OlN5bnRheEVycm9yLCAiYXVkaW8gcmVzb3VyY2VzIHVuYXZhaWxhYmxl
IGZvciBBdWRpb0NvbnRleHQgY29uc3RydWN0aW9uIiwgYXJncy5HZXRJc29sYXRlKCkpOworICAg
ICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoU3ludGF4RXJyb3IsICJhdWRpbyByZXNvdXJjZXMg
dW5hdmFpbGFibGUgZm9yIEF1ZGlvQ29udGV4dCBjb25zdHJ1Y3Rpb24iLCBhcmdzLkdldElzb2xh
dGUoKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gQ29uc3RydWN0b3IgZm9yIG9mZmxpbmUg
KHJlbmRlci10YXJnZXQpIEF1ZGlvQ29udGV4dCB3aGljaCByZW5kZXJzIGludG8gYW4gQXVkaW9C
dWZmZXIuCiAgICAgICAgIC8vIG5ldyBBdWRpb0NvbnRleHQoaW4gdW5zaWduZWQgbG9uZyBudW1i
ZXJPZkNoYW5uZWxzLCBpbiB1bnNpZ25lZCBsb25nIG51bWJlck9mRnJhbWVzLCBpbiBmbG9hdCBz
YW1wbGVSYXRlKTsKICAgICAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAzKQotICAgICAgICAgICAg
cmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29s
YXRlKCkpOworICAgICAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3Io
YXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgICAgIGJvb2wgb2sgPSBmYWxzZTsKIAogICAgICAg
ICBpbnQzMl90IG51bWJlck9mQ2hhbm5lbHMgPSB0b0ludDMyKGFyZ3NbMF0sIG9rKTsKICAgICAg
ICAgaWYgKCFvayB8fCBudW1iZXJPZkNoYW5uZWxzIDw9IDAgfHwgbnVtYmVyT2ZDaGFubmVscyA+
IDEwKQotICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6U3lu
dGF4RXJyb3IsICJJbnZhbGlkIG51bWJlciBvZiBjaGFubmVscyIsIGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKKyAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFN5bnRheEVycm9yLCAiSW52YWxpZCBu
dW1iZXIgb2YgY2hhbm5lbHMiLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICAgICAgaW50MzJf
dCBudW1iZXJPZkZyYW1lcyA9IHRvSW50MzIoYXJnc1sxXSwgb2spOwogICAgICAgICBpZiAoIW9r
IHx8IG51bWJlck9mRnJhbWVzIDw9IDApCi0gICAgICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhy
b3dFcnJvcihWOFByb3h5OjpTeW50YXhFcnJvciwgIkludmFsaWQgbnVtYmVyIG9mIGZyYW1lcyIs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFN5bnRh
eEVycm9yLCAiSW52YWxpZCBudW1iZXIgb2YgZnJhbWVzIiwgYXJncy5HZXRJc29sYXRlKCkpOwog
CiAgICAgICAgIGZsb2F0IHNhbXBsZVJhdGUgPSB0b0Zsb2F0KGFyZ3NbMl0pOwogICAgICAgICBp
ZiAoc2FtcGxlUmF0ZSA8PSAwKQotICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJy
b3IoVjhQcm94eTo6U3ludGF4RXJyb3IsICJJbnZhbGlkIHNhbXBsZSByYXRlIiwgYXJncy5HZXRJ
c29sYXRlKCkpOworICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoU3ludGF4RXJyb3IsICJJ
bnZhbGlkIHNhbXBsZSByYXRlIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgICAgIEV4Y2Vw
dGlvbkNvZGUgZWMgPSAwOwogICAgICAgICBhdWRpb0NvbnRleHQgPSBBdWRpb0NvbnRleHQ6OmNy
ZWF0ZU9mZmxpbmVDb250ZXh0KGRvY3VtZW50LCBudW1iZXJPZkNoYW5uZWxzLCBudW1iZXJPZkZy
YW1lcywgc2FtcGxlUmF0ZSwgZWMpOwogICAgICAgICBpZiAoZWMpCi0gICAgICAgICAgICByZXR1
cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAg
ICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAg
ICAgfQogCiAgICAgaWYgKCFhdWRpb0NvbnRleHQuZ2V0KCkpCi0gICAgICAgIHJldHVybiBWOFBy
b3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlN5bnRheEVycm9yLCAiRXJyb3IgY3JlYXRpbmcgQXVk
aW9Db250ZXh0IiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJv
cihTeW50YXhFcnJvciwgIkVycm9yIGNyZWF0aW5nIEF1ZGlvQ29udGV4dCIsIGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKICAgICAKICAgICAvLyBUcmFuc2Zvcm0gdGhlIGhvbGRlciBpbnRvIGEgd3JhcHBl
ciBvYmplY3QgZm9yIHRoZSBhdWRpbyBjb250ZXh0LgogICAgIFY4RE9NV3JhcHBlcjo6c2V0RE9N
V3JhcHBlcihhcmdzLkhvbGRlcigpLCAmaW5mbywgYXVkaW9Db250ZXh0LmdldCgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEJsb2JDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QmxvYkN1c3RvbS5jcHAKaW5k
ZXggZGYwMWU3NjM0ZmJjNTcyMjExZjUxYjhlYTYxYzExNGY4YTk0Y2I1ZS4uNDNkMTRmNzdlOGM1
NzJjOTMxZTk5OThjY2I0ZTVmM2I4M2JhMjIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4QmxvYkN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4QmxvYkN1c3RvbS5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4QmxvYjo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6
QXJndW1lbnRzJiBhcmdzKQogICAgIElOQ19TVEFUUygiRE9NLkJsb2IuQ29uc3RydWN0b3IiKTsK
IAogICAgIGlmICghYXJncy5Jc0NvbnN0cnVjdENhbGwoKSkKLSAgICAgICAgcmV0dXJuIFY4UHJv
eHk6OnRocm93VHlwZUVycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxs
ZWQgYXMgYSBmdW5jdGlvbi4iLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0
aHJvd1R5cGVFcnJvcigiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFz
IGEgZnVuY3Rpb24uIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgaWYgKENvbnN0cnVjdG9y
TW9kZTo6Y3VycmVudCgpID09IENvbnN0cnVjdG9yTW9kZTo6V3JhcEV4aXN0aW5nT2JqZWN0KQog
ICAgICAgICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKQEAgLTY4LDcgKzY4LDcgQEAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4QmxvYjo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1l
bnRzJiBhcmdzKQogICAgIC8vIEdldCB0aGUgc2NyaXB0IGV4ZWN1dGlvbiBjb250ZXh0LgogICAg
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBnZXRTY3JpcHRFeGVjdXRpb25Db250
ZXh0KCk7CiAgICAgaWYgKCFjb250ZXh0KQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dF
cnJvcihWOFByb3h5OjpSZWZlcmVuY2VFcnJvciwgIkJsb2IgY29uc3RydWN0b3IgYXNzb2NpYXRl
ZCBkb2N1bWVudCBpcyB1bmF2YWlsYWJsZSIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAg
cmV0dXJuIHRocm93RXJyb3IoUmVmZXJlbmNlRXJyb3IsICJCbG9iIGNvbnN0cnVjdG9yIGFzc29j
aWF0ZWQgZG9jdW1lbnQgaXMgdW5hdmFpbGFibGUiLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAg
ICBpZiAoIWFyZ3MuTGVuZ3RoKCkpIHsKICAgICAgICAgUmVmUHRyPEJsb2I+IGJsb2IgPSBCbG9i
OjpjcmVhdGUoKTsKQEAgLTc3LDE0ICs3NywxNCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhC
bG9iOjpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAKICAg
ICB2ODo6TG9jYWw8djg6OlZhbHVlPiBmaXJzdEFyZyA9IGFyZ3NbMF07CiAgICAgaWYgKCFmaXJz
dEFyZy0+SXNBcnJheSgpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3Io
IkZpcnN0IGFyZ3VtZW50IG9mIHRoZSBjb25zdHJ1Y3RvciBpcyBub3Qgb2YgdHlwZSBBcnJheSIs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKCJGaXJz
dCBhcmd1bWVudCBvZiB0aGUgY29uc3RydWN0b3IgaXMgbm90IG9mIHR5cGUgQXJyYXkiLCBhcmdz
LkdldElzb2xhdGUoKSk7CiAKICAgICBTdHJpbmcgdHlwZTsKICAgICBTdHJpbmcgZW5kaW5ncyA9
ICJ0cmFuc3BhcmVudCI7CiAKICAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDEpIHsKICAgICAgICAg
aWYgKCFhcmdzWzFdLT5Jc09iamVjdCgpKQotICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRo
cm93VHlwZUVycm9yKCJTZWNvbmQgYXJndW1lbnQgb2YgdGhlIGNvbnN0cnVjdG9yIGlzIG5vdCBv
ZiB0eXBlIE9iamVjdCIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgICAgIHJldHVybiB0
aHJvd1R5cGVFcnJvcigiU2Vjb25kIGFyZ3VtZW50IG9mIHRoZSBjb25zdHJ1Y3RvciBpcyBub3Qg
b2YgdHlwZSBPYmplY3QiLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICAgICAgRVhDRVBUSU9O
X0JMT0NLKERpY3Rpb25hcnksIGRpY3Rpb25hcnksIERpY3Rpb25hcnkoYXJnc1sxXSwgYXJncy5H
ZXRJc29sYXRlKCkpKTsKIApAQCAtOTUsNyArOTUsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
VjhCbG9iOjpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAK
ICAgICAgICAgaWYgKGNvbnRhaW5zRW5kaW5ncykgewogICAgICAgICAgICAgaWYgKGVuZGluZ3Mg
IT0gInRyYW5zcGFyZW50IiAmJiBlbmRpbmdzICE9ICJuYXRpdmUiKQotICAgICAgICAgICAgICAg
IHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiVGhlIGVuZGluZ3MgcHJvcGVydHkgbXVz
dCBiZSBlaXRoZXIgXCJ0cmFuc3BhcmVudFwiIG9yIFwibmF0aXZlXCIiLCBhcmdzLkdldElzb2xh
dGUoKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKCJUaGUgZW5kaW5n
cyBwcm9wZXJ0eSBtdXN0IGJlIGVpdGhlciBcInRyYW5zcGFyZW50XCIgb3IgXCJuYXRpdmVcIiIs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgfQogCiAgICAgICAgIHY4OjpUcnlDYXRjaCB0
cnlDYXRjaFR5cGU7CkBAIC0xMDMsNyArMTAzLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4
QmxvYjo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAg
ICAgICBpZiAodHJ5Q2F0Y2hUeXBlLkhhc0NhdWdodCgpKQogICAgICAgICAgICAgcmV0dXJuIHRo
cm93RXJyb3IodHJ5Q2F0Y2hUeXBlLkV4Y2VwdGlvbigpLCBhcmdzLkdldElzb2xhdGUoKSk7CiAg
ICAgICAgIGlmICghdHlwZS5jb250YWluc09ubHlBU0NJSSgpKQotICAgICAgICAgICAgcmV0dXJu
IFY4UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6U3ludGF4RXJyb3IsICJ0eXBlIG11c3QgY29u
c2lzdCBvZiBBU0NJSSBjaGFyYWN0ZXJzIiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICAg
ICAgcmV0dXJuIHRocm93RXJyb3IoU3ludGF4RXJyb3IsICJ0eXBlIG11c3QgY29uc2lzdCBvZiBB
U0NJSSBjaGFyYWN0ZXJzIiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICB0eXBlLm1ha2VM
b3dlcigpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Q1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmNwcAppbmRleCAw
M2Q0NTIzNzg4MmY2NGJhOTVhNDAzMjJiMWM1MTZjMmJhNTNmNzMwLi4wMDdiZDlhYjc3OTM0ZDZj
MjE5MGNkZWVmZWE1YTkwMGM4NGYxNmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9t
LmNwcApAQCAtMjM4LDcgKzIzOCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOENTU1N0eWxl
RGVjbGFyYXRpb246Om5hbWVkUHJvcGVydHlTZXR0ZXIodjg6OkxvY2FsPHY4OjpTCiAgICAgaW1w
LT5zZXRQcm9wZXJ0eUludGVybmFsKHN0YXRpY19jYXN0PENTU1Byb3BlcnR5SUQ+KHByb3BJbmZv
LT5wcm9wSUQpLCBwcm9wZXJ0eVZhbHVlLCBmYWxzZSwgZWMpOwogCiAgICAgaWYgKGVjKQotICAg
ICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKKyAg
ICAgICAgc2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CiAKICAgICByZXR1
cm4gdmFsdWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhDbGlwYm9hcmRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Q2xpcGJvYXJkQ3VzdG9tLmNwcAppbmRleCA4MDAzMDEyOGQ0YmUzZjE1MDM5MWI3ZjVi
ZjM1YjRiMzAwZWRhZWZhLi44NzVmNjRlNjhiYjA5ZWRlNTYyNzEyYjRiNTMyZTI2YTY3ZDZkMGM2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDbGlwYm9h
cmRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENs
aXBib2FyZEN1c3RvbS5jcHAKQEAgLTczLDcgKzczLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IFY4Q2xpcGJvYXJkOjpjbGVhckRhdGFDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdz
KQogICAgIH0KIAogICAgIGlmIChhcmdzLkxlbmd0aCgpICE9IDEpCi0gICAgICAgIHJldHVybiBW
OFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlN5bnRheEVycm9yLCAiY2xlYXJEYXRhOiBJbnZh
bGlkIG51bWJlciBvZiBhcmd1bWVudHMiLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJl
dHVybiB0aHJvd0Vycm9yKFN5bnRheEVycm9yLCAiY2xlYXJEYXRhOiBJbnZhbGlkIG51bWJlciBv
ZiBhcmd1bWVudHMiLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBTdHJpbmcgdHlwZSA9IHRv
V2ViQ29yZVN0cmluZyhhcmdzWzBdKTsKICAgICBjbGlwYm9hcmQtPmNsZWFyRGF0YSh0eXBlKTsK
QEAgLTg5LDcgKzg5LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4Q2xpcGJvYXJkOjpzZXRE
cmFnSW1hZ2VDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmcKICAgICAgICAgcmV0dXJu
IHY4OjpVbmRlZmluZWQoKTsKIAogICAgIGlmIChhcmdzLkxlbmd0aCgpICE9IDMpCi0gICAgICAg
IHJldHVybiBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlN5bnRheEVycm9yLCAic2V0RHJh
Z0ltYWdlOiBJbnZhbGlkIG51bWJlciBvZiBhcmd1bWVudHMiLCBhcmdzLkdldElzb2xhdGUoKSk7
CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFN5bnRheEVycm9yLCAic2V0RHJhZ0ltYWdlOiBJ
bnZhbGlkIG51bWJlciBvZiBhcmd1bWVudHMiLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBp
bnQgeCA9IHRvSW50MzIoYXJnc1sxXSk7CiAgICAgaW50IHkgPSB0b0ludDMyKGFyZ3NbMl0pOwpA
QCAtOTksNyArOTksNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhDbGlwYm9hcmQ6OnNldERy
YWdJbWFnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZwogICAgICAgICBub2RlID0g
VjhOb2RlOjp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMF0pKTsK
IAogICAgIGlmICghbm9kZSB8fCAhbm9kZS0+aXNFbGVtZW50Tm9kZSgpKQotICAgICAgICByZXR1
cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoInNldERyYWdJbWFnZUZyb21FbGVtZW50OiBJbnZh
bGlkIGZpcnN0IGFyZ3VtZW50IiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4g
dGhyb3dUeXBlRXJyb3IoInNldERyYWdJbWFnZUZyb21FbGVtZW50OiBJbnZhbGlkIGZpcnN0IGFy
Z3VtZW50IiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgaWYgKHN0YXRpY19jYXN0PEVsZW1l
bnQqPihub2RlKS0+aGFzTG9jYWxOYW1lKEhUTUxOYW1lczo6aW1nVGFnKSAmJiAhbm9kZS0+aW5E
b2N1bWVudCgpKQogICAgICAgICBjbGlwYm9hcmQtPnNldERyYWdJbWFnZShzdGF0aWNfY2FzdDxI
VE1MSW1hZ2VFbGVtZW50Kj4obm9kZSktPmNhY2hlZEltYWdlKCksIEludFBvaW50KHgsIHkpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTUZvcm1E
YXRhQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTUZv
cm1EYXRhQ3VzdG9tLmNwcAppbmRleCBlYzIwMmNjZTQ2Njk0ZmM2M2U2MTIwMzFhMzA5NTljNWQ5
MWQ4ZGEwLi5hZTdlOTA3MmY0ZWZjYjkyNWRjZTY1ZDliMmI0YWU5OWRmMjFmZWMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0YUN1c3Rv
bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NRm9ybURh
dGFDdXN0b20uY3BwCkBAIC00NSw3ICs0NSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERP
TUZvcm1EYXRhOjpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyCiAg
ICAgSU5DX1NUQVRTKCJET00uRm9ybURhdGEuQ29uc3RydWN0b3IiKTsKIAogICAgIGlmICghYXJn
cy5Jc0NvbnN0cnVjdENhbGwoKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVy
cm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlv
bi4iLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigi
RE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIiwg
YXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgaWYgKENvbnN0cnVjdG9yTW9kZTo6Y3VycmVudCgp
ID09IENvbnN0cnVjdG9yTW9kZTo6V3JhcEV4aXN0aW5nT2JqZWN0KQogICAgICAgICByZXR1cm4g
YXJncy5Ib2xkZXIoKTsKQEAgLTY2LDcgKzY2LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4
RE9NRm9ybURhdGE6OmFwcGVuZENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAg
ICAgSU5DX1NUQVRTKCJET00uRm9ybURhdGEuYXBwZW5kKCkiKTsKICAgICAKICAgICBpZiAoYXJn
cy5MZW5ndGgoKSA8IDIpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJv
eHk6OlN5bnRheEVycm9yLCAiTm90IGVub3VnaCBhcmd1bWVudHMiLCBhcmdzLkdldElzb2xhdGUo
KSk7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFN5bnRheEVycm9yLCAiTm90IGVub3VnaCBh
cmd1bWVudHMiLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBET01Gb3JtRGF0YSogZG9tRm9y
bURhdGEgPSBWOERPTUZvcm1EYXRhOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3Vz
dG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01h
cEN1c3RvbS5jcHAKaW5kZXggMTE5MjgyMjI5OTUzM2E2YmZmNzJkZTlhOWU2NWVlMzVjYWYxNTk1
MC4uZGU2OGE4MzllYmQ3NTdmYTNkNDllOWFlZjk0OWQ4OTk3ZGFjM2Y4ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBD
dXN0b20uY3BwCkBAIC04MCw3ICs4MCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERPTVN0
cmluZ01hcDo6bmFtZWRQcm9wZXJ0eVNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4KICAgICBF
eGNlcHRpb25Db2RlIGVjID0gMDsKICAgICBWOERPTVN0cmluZ01hcDo6dG9OYXRpdmUoaW5mby5I
b2xkZXIoKSktPnNldEl0ZW0odG9XZWJDb3JlU3RyaW5nKG5hbWUpLCB0b1dlYkNvcmVTdHJpbmco
dmFsdWUpLCBlYyk7CiAgICAgaWYgKGVjKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9N
RXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRET01F
eGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdmFsdWU7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRv
d0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5k
b3dDdXN0b20uY3BwCmluZGV4IDNmZTg4MGE3ODQ2ZTRiN2FmOGFkMzFlMWI5ODQ0ODVlZjdkZmMy
NzQuLjM1OTkwNmZmMmI2MTM3NzUyZGU1NjkyN2JkNTUyYjZkMjYwMDNiMGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9t
LmNwcApAQCAtNzksNyArNzksNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gV2luZG93U2V0VGlt
ZW91dEltcGwoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywgYm9vbCBzaW5nbAogICAgIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdENvbnRleHQgPSBzdGF0aWNfY2FzdDxTY3JpcHRFeGVj
dXRpb25Db250ZXh0Kj4oaW1wLT5kb2N1bWVudCgpKTsKIAogICAgIGlmICghc2NyaXB0Q29udGV4
dCkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihJTlZBTElEX0FDQ0VT
U19FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlv
bihJTlZBTElEX0FDQ0VTU19FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBmdW5jdGlvbiA9IGFyZ3NbMF07CiAgICAgV1RGOjpTdHJpbmcgZnVuY3Rp
b25TdHJpbmc7CkBAIC0zMDMsNyArMzAzLDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MKIAog
ICAgIC8vIElmIGNhbGxlZCBkaXJlY3RseSBieSBXZWJDb3JlIHdlIGRvbid0IGhhdmUgYSBjYWxs
aW5nIGNvbnRleHQuCiAgICAgaWYgKCFzb3VyY2UpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0
aHJvd1R5cGVFcnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJv
d1R5cGVFcnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICAvLyBUaGlzIGZ1bmN0aW9u
IGhhcyB2YXJpYWJsZSBhcmd1bWVudHMgYW5kIGNhbiBiZToKICAgICAvLyBQZXIgY3VycmVudCBz
cGVjOgpAQCAtMzQ1LDcgKzM0NSw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gaGFu
ZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzCiAKICAgICBF
eGNlcHRpb25Db2RlIGVjID0gMDsKICAgICB3aW5kb3ctPnBvc3RNZXNzYWdlKG1lc3NhZ2UucmVs
ZWFzZSgpLCAmcG9ydEFycmF5LCB0YXJnZXRPcmlnaW4sIHNvdXJjZSwgZWMpOwotICAgIHJldHVy
biBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICBy
ZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiB9CiAKIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOERPTVdpbmRvdzo6cG9zdE1lc3NhZ2VDYWxsYmFjayhjb25zdCB2
ODo6QXJndW1lbnRzJiBhcmdzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RGF0YVZpZXdDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RGF0YVZpZXdDdXN0b20uY3BwCmluZGV4IDAzN2Q0YjM1NzE5ZjkxMmI1ZThi
MTI3ZjJmNTczMDI2YTI4YTU1NDYuLmFmYjIwN2M3NjQ3ZmVlZTdkMWZmNTAxYTc5NzlkZTE2MWJk
ZDVkYjYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERh
dGFWaWV3Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhEYXRhVmlld0N1c3RvbS5jcHAKQEAgLTM4LDcgKzM4LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IFY4RGF0YVZpZXc6OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYg
YXJncykKICAgICBJTkNfU1RBVFMoIkRPTS5EYXRhVmlldy5Db25zdHJ1Y3RvciIpOwogCiAgICAg
aWYgKCFhcmdzLklzQ29uc3RydWN0Q2FsbCgpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhy
b3dUeXBlRXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBh
IGZ1bmN0aW9uIiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dUeXBl
RXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0
aW9uIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgaWYgKENvbnN0cnVjdG9yTW9kZTo6Y3Vy
cmVudCgpID09IENvbnN0cnVjdG9yTW9kZTo6V3JhcEV4aXN0aW5nT2JqZWN0KQogICAgICAgICBy
ZXR1cm4gYXJncy5Ib2xkZXIoKTsKQEAgLTUzLDcgKzUzLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IFY4RGF0YVZpZXc6OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYg
YXJncykKICAgICAgICAgcmV0dXJuIHdyYXBwZXI7CiAgICAgfQogICAgIGlmIChhcmdzWzBdLT5J
c051bGwoKSB8fCAhVjhBcnJheUJ1ZmZlcjo6SGFzSW5zdGFuY2UoYXJnc1swXSkpCi0gICAgICAg
IHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7Cisg
ICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAg
cmV0dXJuIGNvbnN0cnVjdFdlYkdMQXJyYXlXaXRoQXJyYXlCdWZmZXJBcmd1bWVudDxEYXRhVmll
dywgY2hhcj4oYXJncywgJmluZm8sIHY4OjprRXh0ZXJuYWxCeXRlQXJyYXksIGZhbHNlKTsKIH0K
IApAQCAtNjgsMTQgKzY4LDE0IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERhdGFWaWV3Ojpn
ZXRJbnQ4Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBJTkNfU1RB
VFMoIkRPTS5EYXRhVmlldy5nZXRJbnQ4Iik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQot
ICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdz
LkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vy
cm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIERhdGFWaWV3KiBpbXAgPSBWOERhdGFWaWV3
Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAg
ICBFWENFUFRJT05fQkxPQ0sodW5zaWduZWQsIGJ5dGVPZmZzZXQsIHRvVUludDMyKGFyZ3NbMF0p
KTsKICAgICBpbnQ4X3QgcmVzdWx0ID0gaW1wLT5nZXRJbnQ4KGJ5dGVPZmZzZXQsIGVjKTsKICAg
ICBpZiAoVU5MSUtFTFkoZWMpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0
aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRp
b24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdjhJbnRlZ2VyKHJlc3VsdCwg
YXJncy5HZXRJc29sYXRlKCkpOwogfQogCkBAIC04MywxNCArODMsMTQgQEAgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IFY4RGF0YVZpZXc6OmdldFVpbnQ4Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50
cyYgYXJncykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5EYXRhVmlldy5nZXRVaW50OCIpOwogICAg
IGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90
RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4g
dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBE
YXRhVmlldyogaW1wID0gVjhEYXRhVmlldzo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAg
RXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgRVhDRVBUSU9OX0JMT0NLKHVuc2lnbmVkLCBieXRl
T2Zmc2V0LCB0b1VJbnQzMihhcmdzWzBdKSk7CiAgICAgdWludDhfdCByZXN1bHQgPSBpbXAtPmdl
dFVpbnQ4KGJ5dGVPZmZzZXQsIGVjKTsKICAgICBpZiAoVU5MSUtFTFkoZWMpKQotICAgICAgICBy
ZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7Cisg
ICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAg
ICByZXR1cm4gdjhJbnRlZ2VyKHJlc3VsdCwgYXJncy5HZXRJc29sYXRlKCkpOwogfQogCkBAIC05
OCw3ICs5OCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERhdGFWaWV3OjpzZXRJbnQ4Q2Fs
bGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5E
YXRhVmlldy5zZXRJbnQ4Iik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAyKQotICAgICAgICBy
ZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xh
dGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKIAogICAgIERhdGFWaWV3KiBpbXAgPSBWOERhdGFWaWV3Ojp0b05hdGl2
ZShhcmdzLkhvbGRlcigpKTsKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKQEAgLTEwNiw3ICsx
MDYsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEYXRhVmlldzo6c2V0SW50OENhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgRVhDRVBUSU9OX0JMT0NLKGludCwgdmFs
dWUsIHRvSW50MzIoYXJnc1sxXSkpOwogICAgIGltcC0+c2V0SW50OChieXRlT2Zmc2V0LCBzdGF0
aWNfY2FzdDxpbnQ4X3Q+KHZhbHVlKSwgZWMpOwogICAgIGlmIChVTkxJS0VMWShlYykpCi0gICAg
ICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKKyAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkp
OwogICAgIHJldHVybiB2OFVuZGVmaW5lZCgpOwogfQogCkBAIC0xMTQsNyArMTE0LDcgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGF0YVZpZXc6OnNldFVpbnQ4Q2FsbGJhY2soY29uc3Qgdjg6
OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5EYXRhVmlldy5zZXRVaW50
OCIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMikKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6
OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAg
ICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7
CiAKICAgICBEYXRhVmlldyogaW1wID0gVjhEYXRhVmlldzo6dG9OYXRpdmUoYXJncy5Ib2xkZXIo
KSk7CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CkBAIC0xMjIsNyArMTIyLDcgQEAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4RGF0YVZpZXc6OnNldFVpbnQ4Q2FsbGJhY2soY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXJncykKICAgICBFWENFUFRJT05fQkxPQ0soaW50LCB2YWx1ZSwgdG9JbnQzMihh
cmdzWzFdKSk7CiAgICAgaW1wLT5zZXRVaW50OChieXRlT2Zmc2V0LCBzdGF0aWNfY2FzdDx1aW50
OF90Pih2YWx1ZSksIGVjKTsKICAgICBpZiAoVU5MSUtFTFkoZWMpKQotICAgICAgICByZXR1cm4g
VjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAg
IHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1
cm4gdjhVbmRlZmluZWQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9t
LmNwcAppbmRleCBjMzMzNGZjOGZhYmM4OTQwZWVhZGZjZTE1ZDRmMjI2NDM3MGZjODJiLi4wY2I2
ZWNhNDQ1NmI3MjU5OTYxODI3NGEzNzI5OTczYWQ3ZTNhM2RiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9t
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZWRpY2F0ZWRX
b3JrZXJDb250ZXh0Q3VzdG9tLmNwcApAQCAtNjMsNyArNjMsNyBAQCBzdGF0aWMgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50
cyYgYXJncwogICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogICAgIEV4Y2VwdGlvbkNv
ZGUgZWMgPSAwOwogICAgIHdvcmtlckNvbnRleHQtPnBvc3RNZXNzYWdlKG1lc3NhZ2UucmVsZWFz
ZSgpLCAmcG9ydHMsIGVjKTsKLSAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVj
LCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJn
cy5HZXRJc29sYXRlKCkpOwogfQogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZWRpY2F0ZWRX
b3JrZXJDb250ZXh0Ojpwb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFy
Z3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEaXJl
Y3RvcnlFbnRyeUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAKaW5kZXggYzc2ZjMyMDVkNzEwZGNmNDZjYTU1NWEx
NmM5MWFlNjUwOWY2MGYwNy4uMjYwMWRjNmI1YmMwNjU3NTZjZmQxMWRlZjI5YzQwNmM4YTg1YjI0
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0
b3J5RW50cnlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcApAQCAtNTAsNyArNTAsNyBAQCB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gVjhEaXJlY3RvcnlFbnRyeTo6Z2V0RGlyZWN0b3J5Q2FsbGJhY2soY29uc3Qg
djg6OkFyZ3VtZW50cwogICAgIERpcmVjdG9yeUVudHJ5KiBpbXAgPSBWOERpcmVjdG9yeUVudHJ5
Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKIAogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkK
LSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJn
cy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNF
cnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBTVFJJTkdfVE9fVjhQQVJBTUVURVJfRVhD
RVBUSU9OX0JMT0NLKFY4UGFyYW1ldGVyPFdpdGhVbmRlZmluZWRPck51bGxDaGVjaz4sIHBhdGgs
IGFyZ3NbMF0pOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDw9IDEpIHsKQEAgLTc1LDEzICs3NSwx
MyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEaXJlY3RvcnlFbnRyeTo6Z2V0RGlyZWN0b3J5
Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cwogICAgIFJlZlB0cjxFbnRyeUNhbGxiYWNrPiBz
dWNjZXNzQ2FsbGJhY2s7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAyICYmICFhcmdzWzJdLT5J
c051bGwoKSAmJiAhYXJnc1syXS0+SXNVbmRlZmluZWQoKSkgewogICAgICAgICBpZiAoIWFyZ3Nb
Ml0tPklzT2JqZWN0KCkpCi0gICAgICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0
aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgICAgICBy
ZXR1cm4gc2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdldElzb2xhdGUo
KSk7CiAgICAgICAgIHN1Y2Nlc3NDYWxsYmFjayA9IFY4RW50cnlDYWxsYmFjazo6Y3JlYXRlKGFy
Z3NbMl0sIGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgfQogICAgIFJlZlB0cjxF
cnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrOwogICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMyAm
JiAhYXJnc1szXS0+SXNOdWxsKCkgJiYgIWFyZ3NbM10tPklzVW5kZWZpbmVkKCkpIHsKICAgICAg
ICAgaWYgKCFhcmdzWzNdLT5Jc09iamVjdCgpKQotICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6
OnNldERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwor
ICAgICAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENIX0VSUiwgYXJn
cy5HZXRJc29sYXRlKCkpOwogICAgICAgICBlcnJvckNhbGxiYWNrID0gVjhFcnJvckNhbGxiYWNr
OjpjcmVhdGUoYXJnc1szXSwgZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKICAgICB9CiAg
ICAgaW1wLT5nZXREaXJlY3RvcnkocGF0aCwgZmxhZ3MsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JD
YWxsYmFjayk7CkBAIC05NCw3ICs5NCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERpcmVj
dG9yeUVudHJ5OjpnZXRGaWxlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJnCiAgICAg
RGlyZWN0b3J5RW50cnkqIGltcCA9IFY4RGlyZWN0b3J5RW50cnk6OnRvTmF0aXZlKGFyZ3MuSG9s
ZGVyKCkpOwogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQ
cm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7Cisg
ICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKIAogICAgIFNUUklOR19UT19WOFBBUkFNRVRFUl9FWENFUFRJT05fQkxPQ0soVjhQYXJh
bWV0ZXI8V2l0aFVuZGVmaW5lZE9yTnVsbENoZWNrPiwgcGF0aCwgYXJnc1swXSk7CiAgICAgaWYg
KGFyZ3MuTGVuZ3RoKCkgPD0gMSkgewpAQCAtMTE5LDEzICsxMTksMTMgQEAgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IFY4RGlyZWN0b3J5RW50cnk6OmdldEZpbGVDYWxsYmFjayhjb25zdCB2ODo6QXJn
dW1lbnRzJiBhcmcKICAgICBSZWZQdHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrOwog
ICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMiAmJiAhYXJnc1syXS0+SXNOdWxsKCkgJiYgIWFyZ3Nb
Ml0tPklzVW5kZWZpbmVkKCkpIHsKICAgICAgICAgaWYgKCFhcmdzWzJdLT5Jc09iamVjdCgpKQot
ICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENI
X0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICAgICAgcmV0dXJuIHNldERPTUV4Y2Vw
dGlvbihUWVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICBzdWNj
ZXNzQ2FsbGJhY2sgPSBWOEVudHJ5Q2FsbGJhY2s6OmNyZWF0ZShhcmdzWzJdLCBnZXRTY3JpcHRF
eGVjdXRpb25Db250ZXh0KCkpOwogICAgIH0KICAgICBSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJy
b3JDYWxsYmFjazsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDMgJiYgIWFyZ3NbM10tPklzTnVs
bCgpICYmICFhcmdzWzNdLT5Jc1VuZGVmaW5lZCgpKSB7CiAgICAgICAgIGlmICghYXJnc1szXS0+
SXNPYmplY3QoKSkKLSAgICAgICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24o
VFlQRV9NSVNNQVRDSF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgICAgIHJldHVy
biBzZXRET01FeGNlcHRpb24oVFlQRV9NSVNNQVRDSF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsK
ICAgICAgICAgZXJyb3JDYWxsYmFjayA9IFY4RXJyb3JDYWxsYmFjazo6Y3JlYXRlKGFyZ3NbM10s
IGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgfQogICAgIGltcC0+Z2V0RmlsZShw
YXRoLCBmbGFncywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5U3luY0N1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlF
bnRyeVN5bmNDdXN0b20uY3BwCmluZGV4IDY0NmMyOWQyMzk1NWQ0N2UzNjEyMmMwMWI5YmIwZWNh
MzI3ZWUyYjMuLmJlYzRmZmM5ODIzYzQ4MDA1YWJiYWFhODVkZTk0NDYyNjgwMjk2NDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5
U3luY0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcApAQCAtOTgsMTAgKzk4LDEwIEBAIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOERpcmVjdG9yeUVudHJ5U3luYzo6Z2V0RGlyZWN0b3J5Q2FsbGJhY2so
Y29uc3Qgdjg6OkFyZ3VtCiAgICAgU1RSSU5HX1RPX1Y4UEFSQU1FVEVSX0VYQ0VQVElPTl9CTE9D
SyhWOFBhcmFtZXRlcjw+LCBwYXRoLCBhcmdzWzBdKTsKICAgICBSZWZQdHI8V2ViS2l0RmxhZ3M+
IGZsYWdzID0gZ2V0RmxhZ3MoYXJnc1sxXSwgZWMpOwogICAgIGlmIChVTkxJS0VMWShlYykpCi0g
ICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRl
KCkpOwogICAgIFJlZlB0cjxEaXJlY3RvcnlFbnRyeVN5bmM+IHJlc3VsdCA9IGltcC0+Z2V0RGly
ZWN0b3J5KHBhdGgsIGZsYWdzLCBlYyk7CiAgICAgaWYgKFVOTElLRUxZKGVjKSkKLSAgICAgICAg
cmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwor
ICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAg
ICAgcmV0dXJuIHRvVjgocmVzdWx0LnJlbGVhc2UoKSwgYXJncy5HZXRJc29sYXRlKCkpOwogfQog
CkBAIC0xMTMsMTAgKzExMywxMCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEaXJlY3RvcnlF
bnRyeVN5bmM6OmdldEZpbGVDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJgogICAgIFNUUklO
R19UT19WOFBBUkFNRVRFUl9FWENFUFRJT05fQkxPQ0soVjhQYXJhbWV0ZXI8PiwgcGF0aCwgYXJn
c1swXSk7CiAgICAgUmVmUHRyPFdlYktpdEZsYWdzPiBmbGFncyA9IGdldEZsYWdzKGFyZ3NbMV0s
IGVjKTsKICAgICBpZiAoVU5MSUtFTFkoZWMpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0
RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRE
T01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBSZWZQdHI8RmlsZUVudHJ5
U3luYz4gcmVzdWx0ID0gaW1wLT5nZXRGaWxlKHBhdGgsIGZsYWdzLCBlYyk7CiAgICAgaWYgKFVO
TElLRUxZKGVjKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywg
YXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBh
cmdzLkdldElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHRvVjgocmVzdWx0LnJlbGVhc2UoKSwgYXJn
cy5HZXRJc29sYXRlKCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhEb2N1bWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhEb2N1bWVudEN1c3RvbS5jcHAKaW5kZXggMTU5MDdhNTJmOGQ4YTY3Zjkw
MmZmZDQyNzcxOWJkODMzYmIzYTJmYS4uY2U3MmI2MDJhZmI2YjgxYmI4Mzk0Mjc0MzljZmI4ODY1
NmI1ZjFkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RG9jdW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERvY3VtZW50Q3VzdG9tLmNwcApAQCAtNzgsNyArNzgsNyBAQCB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gVjhEb2N1bWVudDo6ZXZhbHVhdGVDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBh
cmdzKQogCiAgICAgUmVmUHRyPFhQYXRoTlNSZXNvbHZlcj4gcmVzb2x2ZXIgPSBWOERPTVdyYXBw
ZXI6OmdldFhQYXRoTlNSZXNvbHZlcihhcmdzWzJdKTsKICAgICBpZiAoIXJlc29sdmVyICYmICFh
cmdzWzJdLT5Jc051bGwoKSAmJiAhYXJnc1syXS0+SXNVbmRlZmluZWQoKSkKLSAgICAgICAgcmV0
dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJ
c29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hf
RVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBpbnQgdHlwZSA9IHRvSW50MzIoYXJnc1sz
XSk7CiAgICAgUmVmUHRyPFhQYXRoUmVzdWx0PiBpblJlc3VsdDsKQEAgLTkxLDcgKzkxLDcgQEAg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RG9jdW1lbnQ6OmV2YWx1YXRlQ2FsbGJhY2soY29uc3Qg
djg6OkFyZ3VtZW50cyYgYXJncykKICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhjZXB0aW9u
Q2F0Y2hlci5FeGNlcHRpb24oKSwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgaWYgKGVjKQot
ICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xh
dGUoKSk7CisgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKIAogICAgIHJldHVybiB0b1Y4KHJlc3VsdC5yZWxlYXNlKCksIGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcAppbmRleCA5NDI2MDJkMDYwYjYx
OTgwYjFhY2RiYjcxMzU4MzAyZWYwY2YyNzAxLi5mOWUzNmNiNmIwMDcxOTc0YmE0YWJhNzg4Y2Nk
ZDJmM2MyYjIxZWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCkBAIC0xMjcsNyAr
MTI3LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4SFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0
YVVSTENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMKICAgICB9CiAKICAgICBTdHJpbmcgcmVz
dWx0ID0gY2FudmFzLT50b0RhdGFVUkwodHlwZSwgcXVhbGl0eVB0ciwgZWMpOwotICAgIFY4UHJv
eHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgIHNldERPTUV4
Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybiB2OFN0cmluZ09yVW5k
ZWZpbmVkKHJlc3VsdCwgYXJncy5HZXRJc29sYXRlKCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRG9jdW1lbnRDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTERvY3VtZW50Q3VzdG9tLmNw
cAppbmRleCAwZDQyMWY5NmQ4MmMzYTM1YzFmMWRjZDI5NTU1NjdiYTI3ZGNjMjhkLi4zMjdjNjRi
ZjZlZjg3NTBiY2I0MzQ5ZGM5OTFkY2UzN2Q2OTAyNWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRG9jdW1lbnRDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxEb2N1bWVudEN1c3RvbS5jcHAK
QEAgLTE1MSw3ICsxNTEsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhIVE1MRG9jdW1lbnQ6
Om9wZW5DYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgICAgICAgICAgdjg6
OkxvY2FsPHY4OjpWYWx1ZT4gZnVuY3Rpb24gPSBnbG9iYWwtPkdldCh2ODo6U3RyaW5nOjpOZXco
Im9wZW4iKSk7CiAgICAgICAgICAgICAvLyBJZiB0aGUgb3BlbiBwcm9wZXJ0eSBpcyBub3QgYSBm
dW5jdGlvbiB0aHJvdyBhIHR5cGUgZXJyb3IuCiAgICAgICAgICAgICBpZiAoIWZ1bmN0aW9uLT5J
c0Z1bmN0aW9uKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVy
cm9yKCJvcGVuIGlzIG5vdCBhIGZ1bmN0aW9uIiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAg
ICAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigib3BlbiBpcyBub3QgYSBmdW5jdGlvbiIs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgICAgIC8vIFdyYXAgdXAgdGhlIGFyZ3VtZW50
cyBhbmQgY2FsbCB0aGUgZnVuY3Rpb24uCiAgICAgICAgICAgICBPd25BcnJheVB0cjx2ODo6TG9j
YWw8djg6OlZhbHVlPiA+IHBhcmFtcyA9IGFkb3B0QXJyYXlQdHIobmV3IHY4OjpMb2NhbDx2ODo6
VmFsdWU+W2FyZ3MuTGVuZ3RoKCldKTsKICAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwg
YXJncy5MZW5ndGgoKTsgaSsrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4SFRNTEVsZW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SFRNTEVsZW1lbnRDdXN0b20uY3BwCmluZGV4IGI5YzBiMDZlNDQ4Mzk1
Y2RkN2U2YTEzMmRiNzQ5MzNkNDg2ZjNhYzMuLjU4MjQwOThkMmMzZWZlMjIyNDI5YWRjNjYwYjU0
NDE1ZjhlNWFjODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEhUTUxFbGVtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhIVE1MRWxlbWVudEN1c3RvbS5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgdm9pZCBW
OEhUTUxFbGVtZW50OjppdGVtVmFsdWVBY2Nlc3NvclNldHRlcih2ODo6TG9jYWw8djg6OlN0cmlu
Zz4gbmFtZSwgdjg6OkxvY2EKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICBpbXBsLT5z
ZXRJdGVtVmFsdWUodG9XZWJDb3JlU3RyaW5nKHZhbHVlKSwgZWMpOwogICAgIGlmIChlYykKLSAg
ICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7Cisg
ICAgICAgIHNldERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOwogfQogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJ
bWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuY3BwCmluZGV4IGMwNmQ3N2E3ZWE0
NTJlOWRlYjQyOTU4ZDM2NjQ0ODdiZDk3MWJkOTUuLjgxMTEwYjc4NTZkMTA1MDM5ZTdjZjNlNzUw
M2UxNzk3OTY0ZWE2Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yLmNwcApA
QCAtNTEsMTggKzUxLDE4IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdjhIVE1MSW1h
Z2VFbGVtZW50Q29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJnCiAgICAgSU5DX1NUQVRT
KCJET00uSFRNTEltYWdlRWxlbWVudC5Db250cnVjdG9yIik7CiAKICAgICBpZiAoIWFyZ3MuSXND
b25zdHJ1Y3RDYWxsKCkpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigi
RE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIiwg
YXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkRPTSBv
YmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIsIGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKIAogICAgIGlmIChDb25zdHJ1Y3Rvck1vZGU6OmN1cnJlbnQoKSA9PSBD
b25zdHJ1Y3Rvck1vZGU6OldyYXBFeGlzdGluZ09iamVjdCkKICAgICAgICAgcmV0dXJuIGFyZ3Mu
SG9sZGVyKCk7CiAKICAgICBGcmFtZSogZnJhbWUgPSBjdXJyZW50RnJhbWUoQmluZGluZ1N0YXRl
OjppbnN0YW5jZSgpKTsKICAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6
dGhyb3dFcnJvcihWOFByb3h5OjpSZWZlcmVuY2VFcnJvciwgIkltYWdlIGNvbnN0cnVjdG9yIGFz
c29jaWF0ZWQgZnJhbWUgaXMgdW5hdmFpbGFibGUiLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAg
ICAgIHJldHVybiB0aHJvd0Vycm9yKFJlZmVyZW5jZUVycm9yLCAiSW1hZ2UgY29uc3RydWN0b3Ig
YXNzb2NpYXRlZCBmcmFtZSBpcyB1bmF2YWlsYWJsZSIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAog
ICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGZyYW1lLT5kb2N1bWVudCgpOwogICAgIGlmICghZG9j
dW1lbnQpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJlZmVy
ZW5jZUVycm9yLCAiSW1hZ2UgY29uc3RydWN0b3IgYXNzb2NpYXRlZCBkb2N1bWVudCBpcyB1bmF2
YWlsYWJsZSIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3Io
UmVmZXJlbmNlRXJyb3IsICJJbWFnZSBjb25zdHJ1Y3RvciBhc3NvY2lhdGVkIGRvY3VtZW50IGlz
IHVuYXZhaWxhYmxlIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgLy8gTWFrZSBzdXJlIHRo
ZSBkb2N1bWVudCBpcyBhZGRlZCB0byB0aGUgRE9NIE5vZGUgbWFwLiBPdGhlcndpc2UsIHRoZSBI
VE1MSW1hZ2VFbGVtZW50IGluc3RhbmNlCiAgICAgLy8gbWF5IGVuZCB1cCBiZWluZyB0aGUgb25s
eSBub2RlIGluIHRoZSBtYXAgYW5kIGdldCBnYXJiYWdlLWNjb2xsZWN0ZWQgcHJlbWF0dXJlbHku
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW5w
dXRFbGVtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEhUTUxJbnB1dEVsZW1lbnRDdXN0b20uY3BwCmluZGV4IDAzZWFkNjU4NDg3MTIxOWE2ODMwOGQ1
YmRkM2Y2MDZmN2U1NDMzYWIuLjYzODI1YTliMmMzODFmMWEzOTFlZWE5Zjc5MTk1ZmMxYjdhMzQ2
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJ
bnB1dEVsZW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOEhUTUxJbnB1dEVsZW1lbnRDdXN0b20uY3BwCkBAIC00NSw3ICs0NSw3IEBAIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOEhUTUxJbnB1dEVsZW1lbnQ6OnNlbGVjdGlvblN0YXJ0QWNjZXNz
b3JHZXR0ZXIodjg6OkxvY2FsCiAgICAgSFRNTElucHV0RWxlbWVudCogaW1wID0gVjhIVE1MSW5w
dXRFbGVtZW50Ojp0b05hdGl2ZShob2xkZXIpOwogCiAgICAgaWYgKCFpbXAtPmNhbkhhdmVTZWxl
Y3Rpb24oKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJBY2Nlc3Np
bmcgc2VsZWN0aW9uU3RhcnQgb24gYW4gaW5wdXQgZWxlbWVudCB0aGF0IGNhbm5vdCBoYXZlIGEg
c2VsZWN0aW9uLiIsIGluZm8uR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93VHlw
ZUVycm9yKCJBY2Nlc3Npbmcgc2VsZWN0aW9uU3RhcnQgb24gYW4gaW5wdXQgZWxlbWVudCB0aGF0
IGNhbm5vdCBoYXZlIGEgc2VsZWN0aW9uLiIsIGluZm8uR2V0SXNvbGF0ZSgpKTsKIAogICAgIGlu
dCB2ID0gaW1wLT5zZWxlY3Rpb25TdGFydCgpOwogICAgIHJldHVybiB2OEludGVnZXIodiwgaW5m
by5HZXRJc29sYXRlKCkpOwpAQCAtNTgsNyArNTgsNyBAQCB2b2lkIFY4SFRNTElucHV0RWxlbWVu
dDo6c2VsZWN0aW9uU3RhcnRBY2Nlc3NvclNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFt
ZQogICAgIEhUTUxJbnB1dEVsZW1lbnQqIGltcCA9IFY4SFRNTElucHV0RWxlbWVudDo6dG9OYXRp
dmUoaG9sZGVyKTsKIAogICAgIGlmICghaW1wLT5jYW5IYXZlU2VsZWN0aW9uKCkpIHsKLSAgICAg
ICAgVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoIkFjY2Vzc2luZyBzZWxlY3Rpb25TdGFydCBvbiBh
biBpbnB1dCBlbGVtZW50IHRoYXQgY2Fubm90IGhhdmUgYSBzZWxlY3Rpb24uIiwgaW5mby5HZXRJ
c29sYXRlKCkpOworICAgICAgICB0aHJvd1R5cGVFcnJvcigiQWNjZXNzaW5nIHNlbGVjdGlvblN0
YXJ0IG9uIGFuIGlucHV0IGVsZW1lbnQgdGhhdCBjYW5ub3QgaGF2ZSBhIHNlbGVjdGlvbi4iLCBp
bmZvLkdldElzb2xhdGUoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaW1wLT5zZXRT
ZWxlY3Rpb25TdGFydCh2YWx1ZS0+SW50MzJWYWx1ZSgpKTsKQEAgLTcxLDcgKzcxLDcgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4SFRNTElucHV0RWxlbWVudDo6c2VsZWN0aW9uRW5kQWNjZXNz
b3JHZXR0ZXIodjg6OkxvY2FsPHYKICAgICBIVE1MSW5wdXRFbGVtZW50KiBpbXAgPSBWOEhUTUxJ
bnB1dEVsZW1lbnQ6OnRvTmF0aXZlKGhvbGRlcik7CiAKICAgICBpZiAoIWltcC0+Y2FuSGF2ZVNl
bGVjdGlvbigpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoIkFjY2Vz
c2luZyBzZWxlY3Rpb25FbmQgb24gYW4gaW5wdXQgZWxlbWVudCB0aGF0IGNhbm5vdCBoYXZlIGEg
c2VsZWN0aW9uLiIsIGluZm8uR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93VHlw
ZUVycm9yKCJBY2Nlc3Npbmcgc2VsZWN0aW9uRW5kIG9uIGFuIGlucHV0IGVsZW1lbnQgdGhhdCBj
YW5ub3QgaGF2ZSBhIHNlbGVjdGlvbi4iLCBpbmZvLkdldElzb2xhdGUoKSk7CiAKICAgICBpbnQg
diA9IGltcC0+c2VsZWN0aW9uRW5kKCk7CiAgICAgcmV0dXJuIHY4SW50ZWdlcih2LCBpbmZvLkdl
dElzb2xhdGUoKSk7CkBAIC04NCw3ICs4NCw3IEBAIHZvaWQgVjhIVE1MSW5wdXRFbGVtZW50Ojpz
ZWxlY3Rpb25FbmRBY2Nlc3NvclNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwKICAg
ICBIVE1MSW5wdXRFbGVtZW50KiBpbXAgPSBWOEhUTUxJbnB1dEVsZW1lbnQ6OnRvTmF0aXZlKGhv
bGRlcik7CiAKICAgICBpZiAoIWltcC0+Y2FuSGF2ZVNlbGVjdGlvbigpKSB7Ci0gICAgICAgIFY4
UHJveHk6OnRocm93VHlwZUVycm9yKCJBY2Nlc3Npbmcgc2VsZWN0aW9uRW5kIG9uIGFuIGlucHV0
IGVsZW1lbnQgdGhhdCBjYW5ub3QgaGF2ZSBhIHNlbGVjdGlvbi4iLCBpbmZvLkdldElzb2xhdGUo
KSk7CisgICAgICAgIHRocm93VHlwZUVycm9yKCJBY2Nlc3Npbmcgc2VsZWN0aW9uRW5kIG9uIGFu
IGlucHV0IGVsZW1lbnQgdGhhdCBjYW5ub3QgaGF2ZSBhIHNlbGVjdGlvbi4iLCBpbmZvLkdldElz
b2xhdGUoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTk4LDcgKzk4LDcgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4SFRNTElucHV0RWxlbWVudDo6c2VsZWN0aW9uRGlyZWN0aW9u
QWNjZXNzb3JHZXR0ZXIodjg6OkwKICAgICBIVE1MSW5wdXRFbGVtZW50KiBpbXAgPSBWOEhUTUxJ
bnB1dEVsZW1lbnQ6OnRvTmF0aXZlKGhvbGRlcik7CiAKICAgICBpZiAoIWltcC0+Y2FuSGF2ZVNl
bGVjdGlvbigpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoIkFjY2Vz
c2luZyBzZWxlY3Rpb25EaXJlY3Rpb24gb24gYW4gaW5wdXQgZWxlbWVudCB0aGF0IGNhbm5vdCBo
YXZlIGEgc2VsZWN0aW9uLiIsIGluZm8uR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRo
cm93VHlwZUVycm9yKCJBY2Nlc3Npbmcgc2VsZWN0aW9uRGlyZWN0aW9uIG9uIGFuIGlucHV0IGVs
ZW1lbnQgdGhhdCBjYW5ub3QgaGF2ZSBhIHNlbGVjdGlvbi4iLCBpbmZvLkdldElzb2xhdGUoKSk7
CiAKICAgICByZXR1cm4gdjhTdHJpbmcoaW1wLT5zZWxlY3Rpb25EaXJlY3Rpb24oKSwgaW5mby5H
ZXRJc29sYXRlKCkpOwogfQpAQCAtMTEwLDcgKzExMCw3IEBAIHZvaWQgVjhIVE1MSW5wdXRFbGVt
ZW50OjpzZWxlY3Rpb25EaXJlY3Rpb25BY2Nlc3NvclNldHRlcih2ODo6TG9jYWw8djg6OlN0cmlu
Zz4KICAgICBIVE1MSW5wdXRFbGVtZW50KiBpbXAgPSBWOEhUTUxJbnB1dEVsZW1lbnQ6OnRvTmF0
aXZlKGhvbGRlcik7CiAKICAgICBpZiAoIWltcC0+Y2FuSGF2ZVNlbGVjdGlvbigpKSB7Ci0gICAg
ICAgIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJBY2Nlc3Npbmcgc2VsZWN0aW9uRGlyZWN0aW9u
IG9uIGFuIGlucHV0IGVsZW1lbnQgdGhhdCBjYW5ub3QgaGF2ZSBhIHNlbGVjdGlvbi4iLCBpbmZv
LkdldElzb2xhdGUoKSk7CisgICAgICAgIHRocm93VHlwZUVycm9yKCJBY2Nlc3Npbmcgc2VsZWN0
aW9uRGlyZWN0aW9uIG9uIGFuIGlucHV0IGVsZW1lbnQgdGhhdCBjYW5ub3QgaGF2ZSBhIHNlbGVj
dGlvbi4iLCBpbmZvLkdldElzb2xhdGUoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAg
LTEyNCw3ICsxMjQsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhIVE1MSW5wdXRFbGVtZW50
OjpzZXRTZWxlY3Rpb25SYW5nZUNhbGxiYWNrKGNvbnN0IHY4OjpBcgogICAgIEhUTUxJbnB1dEVs
ZW1lbnQqIGltcCA9IFY4SFRNTElucHV0RWxlbWVudDo6dG9OYXRpdmUoaG9sZGVyKTsKIAogICAg
IGlmICghaW1wLT5jYW5IYXZlU2VsZWN0aW9uKCkpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0
aHJvd1R5cGVFcnJvcigiQ2FsbGluZyBzZXRTZWxlY3Rpb25SYW5nZSBvbiBhbiBpbnB1dCBlbGVt
ZW50IHRoYXQgY2Fubm90IGhhdmUgYSBzZWxlY3Rpb24uIiwgYXJncy5HZXRJc29sYXRlKCkpOwor
ICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkNhbGxpbmcgc2V0U2VsZWN0aW9uUmFuZ2Ug
b24gYW4gaW5wdXQgZWxlbWVudCB0aGF0IGNhbm5vdCBoYXZlIGEgc2VsZWN0aW9uLiIsIGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKIAogICAgIGludCBzdGFydCA9IGFyZ3NbMF0tPkludDMyVmFsdWUoKTsK
ICAgICBpbnQgZW5kID0gYXJnc1sxXS0+SW50MzJWYWx1ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTE1lZGlhRWxlbWVudEN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MTWVkaWFFbGVtZW50Q3Vz
dG9tLmNwcAppbmRleCAzMjdmZWZmM2YwYTVmNjhhMzZhMWQwZDkwZTdhMjFlMTVjOWVlNDk4Li5k
ZGI1MTcyMDIyMjYzNjBkMWFlMGFlY2JiZGE1NzViNTgzZmQ2YTZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MTWVkaWFFbGVtZW50Q3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MTWVkaWFFbGVt
ZW50Q3VzdG9tLmNwcApAQCAtNDMsNyArNDMsNyBAQCB2b2lkIFY4SFRNTE1lZGlhRWxlbWVudDo6
Y29udHJvbGxlckFjY2Vzc29yU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCB2OAog
ICAgICAgICBjb250cm9sbGVyID0gVjhNZWRpYUNvbnRyb2xsZXI6OnRvTmF0aXZlKHZhbHVlLT5U
b09iamVjdCgpKTsKICAgICAKICAgICBpZiAoIWNvbnRyb2xsZXIpIHsKLSAgICAgICAgVjhQcm94
eTo6dGhyb3dUeXBlRXJyb3IoIlZhbHVlIGlzIG5vdCBvZiB0eXBlIE1lZGlhQ29udHJvbGxlciIs
IGluZm8uR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgdGhyb3dUeXBlRXJyb3IoIlZhbHVlIGlzIG5v
dCBvZiB0eXBlIE1lZGlhQ29udHJvbGxlciIsIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4SFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHAKaW5k
ZXggOTAzMGI1MTJkN2QxNjMzNDVkYTNiM2ExNDcxMGI4ZWEyZmNhYzRjOS4uOGVlOTkxZDY3NWY5
YzIxMzUxMTViYjIzODVhY2IyOGRlZDA0ZmI0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MT3B0aW9uc0NvbGxlY3Rp
b25DdXN0b20uY3BwCkBAIC01Niw3ICs1Niw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhU
TUxPcHRpb25zQ29sbGVjdGlvbjo6YWRkQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYKIHsK
ICAgICBJTkNfU1RBVFMoIkRPTS5IVE1MT3B0aW9uc0NvbGxlY3Rpb24uYWRkKCkiKTsKICAgICBp
ZiAoIVY4SFRNTE9wdGlvbkVsZW1lbnQ6Okhhc0luc3RhbmNlKGFyZ3NbMF0pKQotICAgICAgICBy
ZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdl
dElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oVFlQRV9NSVNNQVRD
SF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBIVE1MT3B0aW9uc0NvbGxlY3Rpb24qIGlt
cCA9IFY4SFRNTE9wdGlvbnNDb2xsZWN0aW9uOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAg
ICBIVE1MT3B0aW9uRWxlbWVudCogb3B0aW9uID0gVjhIVE1MT3B0aW9uRWxlbWVudDo6dG9OYXRp
dmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pih2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFy
Z3NbMF0pKSk7CiAKQEAgLTc4LDcgKzc4LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4SFRN
TE9wdGlvbnNDb2xsZWN0aW9uOjphZGRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJgogICAg
IH0KIAogICAgIGlmIChlYykKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlv
bihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9u
KGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwog
fQpAQCAtMTA5LDcgKzEwOSw3IEBAIHZvaWQgVjhIVE1MT3B0aW9uc0NvbGxlY3Rpb246Omxlbmd0
aEFjY2Vzc29yU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCB2CiAgICAgaWYgKCFl
YykKICAgICAgICAgaW1wLT5zZXRMZW5ndGgobmV3TGVuZ3RoLCBlYyk7CiAKLSAgICBWOFByb3h5
OjpzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKKyAgICBzZXRET01FeGNl
cHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKIH0KIAogdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IFY4SFRNTE9wdGlvbnNDb2xsZWN0aW9uOjppbmRleGVkUHJvcGVydHlHZXR0ZXIodWludDMyX3Qg
aW5kZXgsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIaXN0b3J5Q3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhpc3RvcnlDdXN0b20uY3BwCmluZGV4IDZmNGNk
Njg3YTUzN2EwYmY0MTJkMTk0OGI5MDdkM2Y1MGY0NWFiMDIuLmFjZGI3NDk3MjNlZTA1Y2VlMzVl
NDcyMjMyODJkOTMwOTk3MDljZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEhpc3RvcnlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEhpc3RvcnlDdXN0b20uY3BwCkBAIC04MSw3ICs4MSw3IEBAIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOEhpc3Rvcnk6OnB1c2hTdGF0ZUNhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmIGFyZ3MpCiAgICAgSGlzdG9yeSogaGlzdG9yeSA9IFY4SGlzdG9yeTo6dG9OYXRp
dmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgaGlzdG9yeS0+c3RhdGVPYmplY3RBZGRlZChoaXN0b3J5
U3RhdGUucmVsZWFzZSgpLCB0aXRsZSwgdXJsLCBIaXN0b3J5OjpTdGF0ZU9iamVjdFB1c2gsIGVj
KTsKICAgICBhcmdzLkhvbGRlcigpLT5EZWxldGVIaWRkZW5WYWx1ZShWOEhpZGRlblByb3BlcnR5
TmFtZTo6c3RhdGUoKSk7Ci0gICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywg
YXJncy5HZXRJc29sYXRlKCkpOworICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKIH0KIAogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4SGlzdG9yeTo6cmVw
bGFjZVN0YXRlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKQEAgLTEwNiw3ICsx
MDYsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhIaXN0b3J5OjpyZXBsYWNlU3RhdGVDYWxs
YmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIEhpc3RvcnkqIGhpc3RvcnkgPSBW
OEhpc3Rvcnk6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIGhpc3RvcnktPnN0YXRlT2Jq
ZWN0QWRkZWQoaGlzdG9yeVN0YXRlLnJlbGVhc2UoKSwgdGl0bGUsIHVybCwgSGlzdG9yeTo6U3Rh
dGVPYmplY3RSZXBsYWNlLCBlYyk7CiAgICAgYXJncy5Ib2xkZXIoKS0+RGVsZXRlSGlkZGVuVmFs
dWUoVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OnN0YXRlKCkpOwotICAgIHJldHVybiBWOFByb3h5Ojpz
ZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICByZXR1cm4gc2V0RE9N
RXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiB9CiAKIGJvb2wgVjhIaXN0b3J5Ojpp
bmRleGVkU2VjdXJpdHlDaGVjayh2ODo6TG9jYWw8djg6Ok9iamVjdD4gaG9zdCwgdWludDMyX3Qg
aW5kZXgsIHY4OjpBY2Nlc3NUeXBlIHR5cGUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRI
b3N0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVj
dGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAKaW5kZXggZjc3OTRhZTk1ZDc1NjI0MjM3ZmZjYTNjNmFi
NjMzNmI0NjQwOGNmZi4uMGE0MGI2YmI5MDNlNjI1MzM3M2VmMTgxYzMxMjdhNmRjYTgyNTE4OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRT
Y3JpcHRIb3N0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwCkBAIC04NCw3ICs4NCw3IEBAIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOEluamVjdGVkU2NyaXB0SG9zdDo6aW5zcGVjdGVkT2JqZWN0Q2Fs
bGJhY2soY29uc3Qgdjg6OkFyCiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAKICAg
ICBpZiAoIWFyZ3NbMF0tPklzSW50MzIoKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93
VHlwZUVycm9yKCJhcmd1bWVudCBoYXMgdG8gYmUgYW4gaW50ZWdlciIsIGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKCJhcmd1bWVudCBoYXMgdG8gYmUg
YW4gaW50ZWdlciIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIEluamVjdGVkU2NyaXB0SG9z
dCogaG9zdCA9IFY4SW5qZWN0ZWRTY3JpcHRIb3N0Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsK
ICAgICBJbmplY3RlZFNjcmlwdEhvc3Q6Okluc3BlY3RhYmxlT2JqZWN0KiBvYmplY3QgPSBob3N0
LT5pbnNwZWN0ZWRPYmplY3QoYXJnc1swXS0+VG9JbnQzMigpLT5WYWx1ZSgpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEludGVudENvbnN0cnVjdG9y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEludGVudENvbnN0cnVj
dG9yLmNwcAppbmRleCAxNjRlNjkxY2M4NWQyZmU1MjNiMjU5ZWU1OWIyYjAxYjdiZDcxNWNjLi44
NDhhOTE2NTZkMWQzZjEwZTVjODcxMjgxN2I1ZDRiNDUxNmFhNjU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbnRlbnRDb25zdHJ1Y3Rvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW50ZW50Q29uc3RydWN0b3Iu
Y3BwCkBAIC00NywxMiArNDcsMTIgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4SW50ZW50Ojpj
b25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgSU5DX1NU
QVRTKCJET00uSW50ZW50LkNvbnN0cnVjdG9yIik7CiAKICAgICBpZiAoIWFyZ3MuSXNDb25zdHJ1
Y3RDYWxsKCkpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiRE9NIG9i
amVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIiwgYXJncy5H
ZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkRPTSBvYmplY3Qg
Y29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIsIGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKIAogICAgIGlmIChDb25zdHJ1Y3Rvck1vZGU6OmN1cnJlbnQoKSA9PSBDb25zdHJ1
Y3Rvck1vZGU6OldyYXBFeGlzdGluZ09iamVjdCkKICAgICAgICAgcmV0dXJuIGFyZ3MuSG9sZGVy
KCk7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6
dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAg
IHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsK
ICAgICBpZiAoYXJncy5MZW5ndGgoKSA9PSAxKSB7CiAgICAgICAgIC8vIFVzZSB0aGUgZGljdGlv
bmFyeSBjb25zdHJ1Y3Rvci4gVGhpcyBibG9jayB3aWxsIHJldHVybiBpZiB0aGUKICAgICAgICAg
Ly8gYXJndW1lbnQgaXNuJ3QgYSB2YWxpZCBEaWN0aW9uYXJ5LgpAQCAtNjAsNyArNjAsNyBAQCB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhJbnRlbnQ6OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qg
djg6OkFyZ3VtZW50cyYgYXJncykKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAg
ICAgIFJlZlB0cjxJbnRlbnQ+IGltcGwgPSBJbnRlbnQ6OmNyZWF0ZShTY3JpcHRTdGF0ZTo6Y3Vy
cmVudCgpLCBvcHRpb25zLCBlYyk7CiAgICAgICAgIGlmIChlYykKLSAgICAgICAgICAgIHJldHVy
biBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAg
ICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAog
ICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBhcmdzLkhvbGRlcigpOwog
ICAgICAgICBWOERPTVdyYXBwZXI6OnNldERPTVdyYXBwZXIod3JhcHBlciwgJmluZm8sIGltcGwu
Z2V0KCkpOwpAQCAtNzUsMTYgKzc1LDE2IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEludGVu
dDo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIEFy
cmF5QnVmZmVyQXJyYXkgYXJyYXlCdWZmZXJBcnJheVRyYW5zZmVyTGlzdDsKICAgICBpZiAoYXJn
cy5MZW5ndGgoKSA+IDMpIHsKICAgICAgICAgaWYgKCFleHRyYWN0VHJhbnNmZXJhYmxlcyhhcmdz
WzNdLCBtZXNzYWdlUG9ydEFycmF5VHJhbnNmZXJMaXN0LCBhcnJheUJ1ZmZlckFycmF5VHJhbnNm
ZXJMaXN0LCBhcmdzLkdldElzb2xhdGUoKSkpCi0gICAgICAgICAgICByZXR1cm4gVjhQcm94eTo6
dGhyb3dUeXBlRXJyb3IoIkNvdWxkIG5vdCBleHRyYWN0IHRyYW5zZmVyYWJsZXMiLCBhcmdzLkdl
dElzb2xhdGUoKSk7CisgICAgICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkNvdWxkIG5v
dCBleHRyYWN0IHRyYW5zZmVyYWJsZXMiLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgfQogICAg
IGJvb2wgZGF0YURpZFRocm93ID0gZmFsc2U7CiAgICAgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZT4gZGF0YSA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKGFyZ3NbMl0sICZtZXNz
YWdlUG9ydEFycmF5VHJhbnNmZXJMaXN0LCAmYXJyYXlCdWZmZXJBcnJheVRyYW5zZmVyTGlzdCwg
ZGF0YURpZFRocm93KTsKICAgICBpZiAoZGF0YURpZFRocm93KQotICAgICAgICByZXR1cm4gVjhQ
cm94eTo6c2V0RE9NRXhjZXB0aW9uKERBVEFfQ0xPTkVfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7
CisgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oREFUQV9DTE9ORV9FUlIsIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKIAogICAgIFJlZlB0cjxJbnRlbnQ+IGltcGwgPSBJbnRlbnQ6OmNyZWF0ZShh
Y3Rpb24sIHR5cGUsIGRhdGEsIG1lc3NhZ2VQb3J0QXJyYXlUcmFuc2Zlckxpc3QsIGVjKTsKICAg
ICBpZiAoZWMpCi0gICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJn
cy5HZXRJc29sYXRlKCkpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0g
YXJncy5Ib2xkZXIoKTsKICAgICBWOERPTVdyYXBwZXI6OnNldERPTVdyYXBwZXIod3JhcHBlciwg
JmluZm8sIGltcGwuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4TG9jYXRpb25DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4TG9jYXRpb25DdXN0b20uY3BwCmluZGV4IDUxOTI1NjNkNzJlZmM1ZThmZWUw
YTI5ZjMzZDQxYWQwNzgxODVmNWQuLmRmOWYzODUyNzYyNWI0MTVjOTMyYTYwNThmY2Q1MTAxY2Y5
Mjg2ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOExv
Y2F0aW9uQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhMb2NhdGlvbkN1c3RvbS5jcHAKQEAgLTEzMCw3ICsxMzAsNyBAQCB2b2lkIFY4TG9jYXRpb246
OnByb3RvY29sQWNjZXNzb3JTZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIHY4OjpM
b2NhbDx2OAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIGltcGwtPnNldFByb3RvY29s
KHByb3RvY29sLCBhY3RpdmVET01XaW5kb3coc3RhdGUpLCBmaXJzdERPTVdpbmRvdyhzdGF0ZSks
IGVjKTsKICAgICBpZiAoVU5MSUtFTFkoZWMpKQotICAgICAgICBWOFByb3h5OjpzZXRET01FeGNl
cHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGVj
LCBpbmZvLkdldElzb2xhdGUoKSk7CiB9CiAKIHZvaWQgVjhMb2NhdGlvbjo6c2VhcmNoQWNjZXNz
b3JTZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+
IHZhbHVlLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUNoYW5uZWxDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlQ2hhbm5lbENv
bnN0cnVjdG9yLmNwcAppbmRleCA3MDEzMWRjYzNmNDk3MTMzMTcwZjZkMDlkYzQyY2ZiZDI0MmYw
OGQzLi5hZTM1NTY5NGQzZGM0YzcxYmY4YTU2ZmU2ZTIzZDFiNTNiNWFjMjhlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlQ2hhbm5lbENvbnN0
cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNZXNz
YWdlQ2hhbm5lbENvbnN0cnVjdG9yLmNwcApAQCAtNTEsNyArNTEsNyBAQCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhNZXNzYWdlQ2hhbm5lbDo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6
QXJndW1lbnRzJgogICAgIC8vIEZJWE1FOiBUaGUgbG9naWMgaGVyZSBpcyBhbG1vc3QgZXhhY3Qg
ZHVwbGljYXRlIG9mIFY4Ojpjb25zdHJ1Y3RET01PYmplY3QuCiAgICAgLy8gQ29uc2lkZXIgcmVm
YWN0b3JpbmcgdG8gcmVkdWNlIGR1cGxpY2F0aW9uLgogICAgIGlmICghYXJncy5Jc0NvbnN0cnVj
dENhbGwoKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJET00gb2Jq
ZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4iLCBhcmdzLkdl
dElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigiRE9NIG9iamVjdCBj
b25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIiwgYXJncy5HZXRJc29s
YXRlKCkpOwogCiAgICAgaWYgKENvbnN0cnVjdG9yTW9kZTo6Y3VycmVudCgpID09IENvbnN0cnVj
dG9yTW9kZTo6V3JhcEV4aXN0aW5nT2JqZWN0KQogICAgICAgICByZXR1cm4gYXJncy5Ib2xkZXIo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3Nh
Z2VQb3J0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1l
c3NhZ2VQb3J0Q3VzdG9tLmNwcAppbmRleCBhYTk0YzMzOWJlYzcxZWM1ODMyZGI5OTFiNGEyMDY4
ZDY4NjM2OWZiLi43ZmU4ZmFhZTIyMjVhYjE2NDU4OWE3NTMwOTM0ZTM4M2E0YWM3MzRmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlUG9ydEN1
c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2Fn
ZVBvcnRDdXN0b20uY3BwCkBAIC02Miw3ICs2Miw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gaGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdz
CiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9
IDA7CiAgICAgbWVzc2FnZVBvcnQtPnBvc3RNZXNzYWdlKG1lc3NhZ2UucmVsZWFzZSgpLCAmcG9y
dEFycmF5LCBlYyk7Ci0gICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJn
cy5HZXRJc29sYXRlKCkpOworICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKIH0KIAogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4TWVzc2FnZVBvcnQ6OnBv
c3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE11dGF0aW9uT2JzZXJ2ZXJDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TXV0YXRpb25PYnNl
cnZlckN1c3RvbS5jcHAKaW5kZXggNjZlODhmNjQxMmJlZTM2NDkyNmI3OTc2NTAwYmEyNjhhODhj
ZGZkYy4uN2M5ZTUyNTBhYmY2ZTJiMzI1NmRiMDU3MmUwNmQzOWZmN2EzNTFhYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TXV0YXRpb25PYnNlcnZlckN1
c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TXV0YXRp
b25PYnNlcnZlckN1c3RvbS5jcHAKQEAgLTQ5LDIxICs0OSwyMSBAQCB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gVjhNdXRhdGlvbk9ic2VydmVyOjpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudAogICAgIElOQ19TVEFUUygiRE9NLk11dGF0aW9uT2JzZXJ2ZXIuQ29uc3RydWN0b3Ii
KTsKIAogICAgIGlmICghYXJncy5Jc0NvbnN0cnVjdENhbGwoKSkKLSAgICAgICAgcmV0dXJuIFY4
UHJveHk6OnRocm93VHlwZUVycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBj
YWxsZWQgYXMgYSBmdW5jdGlvbi4iLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVy
biB0aHJvd1R5cGVFcnJvcigiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVk
IGFzIGEgZnVuY3Rpb24uIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgaWYgKENvbnN0cnVj
dG9yTW9kZTo6Y3VycmVudCgpID09IENvbnN0cnVjdG9yTW9kZTo6V3JhcEV4aXN0aW5nT2JqZWN0
KQogICAgICAgICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKIAogICAgIGlmIChhcmdzLkxlbmd0aCgp
IDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJy
b3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1
bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICB2ODo6TG9jYWw8djg6OlZhbHVl
PiBhcmcgPSBhcmdzWzBdOwogICAgIGlmICghYXJnLT5Jc09iamVjdCgpKQotICAgICAgICByZXR1
cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdldElz
b2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oVFlQRV9NSVNNQVRDSF9F
UlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQgPSBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CiAgICAgaWYgKCFjb250ZXh0KQot
ICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpSZWZlcmVuY2VFcnJv
ciwgIk11dGF0aW9uT2JzZXJ2ZXIgY29uc3RydWN0b3IncyBhc3NvY2lhdGVkIGZyYW1lIHVuYXZh
aWxhYmxlIiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihS
ZWZlcmVuY2VFcnJvciwgIk11dGF0aW9uT2JzZXJ2ZXIgY29uc3RydWN0b3IncyBhc3NvY2lhdGVk
IGZyYW1lIHVuYXZhaWxhYmxlIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgUmVmUHRyPE11
dGF0aW9uQ2FsbGJhY2s+IGNhbGxiYWNrID0gVjhNdXRhdGlvbkNhbGxiYWNrOjpjcmVhdGUoYXJn
LCBjb250ZXh0KTsKICAgICBSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4gb2JzZXJ2ZXIgPSBNdXRh
dGlvbk9ic2VydmVyOjpjcmVhdGUoY2FsbGJhY2sucmVsZWFzZSgpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAKaW5kZXggY2UyZGZh
MzEzMzg1NjNiMjhlZjFhZjBjOGRlYTNlMmVkNTU0NTZiZi4uM2FiYTJmOTY3YmM4NmZmMjY3YjMz
ZTkzY2RmNGMwOTFjODRjMjk3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAKQEAgLTcyLDcgKzcyLDcgQEAgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IFY4Tm9kZTo6aW5zZXJ0QmVmb3JlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50
cyYgYXJncykKICAgICBOb2RlKiByZWZDaGlsZCA9IFY4Tm9kZTo6SGFzSW5zdGFuY2UoYXJnc1sx
XSkgPyBWOE5vZGU6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1sx
XSkpIDogMDsKICAgICBib29sIHN1Y2Nlc3MgPSBpbXAtPmluc2VydEJlZm9yZShuZXdDaGlsZCwg
cmVmQ2hpbGQsIGVjLCB0cnVlKTsKICAgICBpZiAoZWMpCi0gICAgICAgIHJldHVybiBWOFByb3h5
OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJu
IHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIGlmIChzdWNjZXNz
KQogICAgICAgICByZXR1cm4gYXJnc1swXTsKICAgICByZXR1cm4gdjg6Ok51bGwoYXJncy5HZXRJ
c29sYXRlKCkpOwpAQCAtODksNyArODksNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhOb2Rl
OjpyZXBsYWNlQ2hpbGRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIE5v
ZGUqIG9sZENoaWxkID0gVjhOb2RlOjpIYXNJbnN0YW5jZShhcmdzWzFdKSA/IFY4Tm9kZTo6dG9O
YXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzFdKSkgOiAwOwogICAgIGJv
b2wgc3VjY2VzcyA9IGltcC0+cmVwbGFjZUNoaWxkKG5ld0NoaWxkLCBvbGRDaGlsZCwgZWMsIHRy
dWUpOwogICAgIGlmIChlYykKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlv
bihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9u
KGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgaWYgKHN1Y2Nlc3MpCiAgICAgICAgIHJldHVy
biBhcmdzWzFdOwogICAgIHJldHVybiB2ODo6TnVsbChhcmdzLkdldElzb2xhdGUoKSk7CkBAIC0x
MDQsNyArMTA0LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4Tm9kZTo6cmVtb3ZlQ2hpbGRD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIE5vZGUqIG9sZENoaWxkID0g
VjhOb2RlOjpIYXNJbnN0YW5jZShhcmdzWzBdKSA/IFY4Tm9kZTo6dG9OYXRpdmUodjg6OkhhbmRs
ZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzBdKSkgOiAwOwogICAgIGJvb2wgc3VjY2VzcyA9IGlt
cC0+cmVtb3ZlQ2hpbGQob2xkQ2hpbGQsIGVjKTsKICAgICBpZiAoZWMpCi0gICAgICAgIHJldHVy
biBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAg
ICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIGlm
IChzdWNjZXNzKQogICAgICAgICByZXR1cm4gYXJnc1swXTsKICAgICByZXR1cm4gdjg6Ok51bGwo
YXJncy5HZXRJc29sYXRlKCkpOwpAQCAtMTIwLDcgKzEyMCw3IEBAIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBWOE5vZGU6OmFwcGVuZENoaWxkQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJn
cykKICAgICBOb2RlKiBuZXdDaGlsZCA9IFY4Tm9kZTo6SGFzSW5zdGFuY2UoYXJnc1swXSkgPyBW
OE5vZGU6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1swXSkpIDog
MDsKICAgICBib29sIHN1Y2Nlc3MgPSBpbXAtPmFwcGVuZENoaWxkKG5ld0NoaWxkLCBlYywgdHJ1
ZSApOwogICAgIGlmIChlYykKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlv
bihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9u
KGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgaWYgKHN1Y2Nlc3MpCiAgICAgICAgIHJldHVy
biBhcmdzWzBdOwogICAgIHJldHVybiB2ODo6TnVsbChhcmdzLkdldElzb2xhdGUoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25D
ZW50ZXJDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90
aWZpY2F0aW9uQ2VudGVyQ3VzdG9tLmNwcAppbmRleCAxODkwZjFlMzRjOTJhMjdiZGE0MDMyMmMz
OGZiYzAwMTBhZDY4MDE0Li44ZjAxYTBkMTk5NTM4MDAxYzM4YzQ5MTYyZWRiZTBlMWQ1YzNlZGNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmlj
YXRpb25DZW50ZXJDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4Tm90aWZpY2F0aW9uQ2VudGVyOjpjcmVhdGVIVE1MTm90aWZp
Y2F0aW9uQ2FsbGJhY2soY29uc3QKICAgICBSZWZQdHI8Tm90aWZpY2F0aW9uPiBub3RpZmljYXRp
b24gPSBub3RpZmljYXRpb25DZW50ZXItPmNyZWF0ZUhUTUxOb3RpZmljYXRpb24odXJsLCBlYyk7
CiAKICAgICBpZiAoZWMpCi0gICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24o
ZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihl
YywgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgbm90aWZpY2F0aW9uLT5yZWYoKTsKICAgICBy
ZXR1cm4gdG9WOChub3RpZmljYXRpb24uZ2V0KCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKQEAgLTcy
LDcgKzcyLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4Tm90aWZpY2F0aW9uQ2VudGVyOjpj
cmVhdGVOb3RpZmljYXRpb25DYWxsYmFjayhjb25zdCB2ODoKICAgICBSZWZQdHI8Tm90aWZpY2F0
aW9uPiBub3RpZmljYXRpb24gPSBub3RpZmljYXRpb25DZW50ZXItPmNyZWF0ZU5vdGlmaWNhdGlv
bih0b1dlYkNvcmVTdHJpbmcoYXJnc1swXSksIHRvV2ViQ29yZVN0cmluZyhhcmdzWzFdKSwgdG9X
ZWJDb3JlU3RyaW5nKGFyZ3NbMl0pLCBlYyk7CiAKICAgICBpZiAoZWMpCi0gICAgICAgIHJldHVy
biBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAg
ICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAg
bm90aWZpY2F0aW9uLT5yZWYoKTsKICAgICByZXR1cm4gdG9WOChub3RpZmljYXRpb24uZ2V0KCks
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKQEAgLTg2LDE2ICs4NiwxNiBAQCB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gVjhOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uQ2FsbGJhY2soY29u
c3Qgdjg6OgogCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgc2NyaXB0IGV4ZWN1dGlvbiBjb250ZXh0
IGlzIHZhbGlkLgogICAgIGlmICghY29udGV4dCkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNl
dERPTUV4Y2VwdGlvbihJTlZBTElEX1NUQVRFX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOworICAg
ICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKElOVkFMSURfU1RBVEVfRVJSLCBhcmdzLkdldElz
b2xhdGUoKSk7CiAKICAgICAvLyBSZXF1ZXN0aW5nIHBlcm1pc3Npb24gaXMgb25seSB2YWxpZCBm
cm9tIGEgcGFnZSBjb250ZXh0LgogICAgIGlmIChjb250ZXh0LT5pc1dvcmtlckNvbnRleHQoKSkK
LSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihOT1RfU1VQUE9SVEVEX0VS
UiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKE5P
VF9TVVBQT1JURURfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBSZWZQdHI8VjhDdXN0
b21Wb2lkQ2FsbGJhY2s+IGNhbGxiYWNrOwogICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMCkgewog
ICAgICAgICBpZiAoIWFyZ3NbMF0tPklzT2JqZWN0KCkpCi0gICAgICAgICAgICByZXR1cm4gVjhQ
cm94eTo6dGhyb3dUeXBlRXJyb3IoIkNhbGxiYWNrIG11c3QgYmUgb2YgdmFsaWQgdHlwZS4iLCBh
cmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkNh
bGxiYWNrIG11c3QgYmUgb2YgdmFsaWQgdHlwZS4iLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgCiAg
ICAgICAgIGNhbGxiYWNrID0gVjhDdXN0b21Wb2lkQ2FsbGJhY2s6OmNyZWF0ZShhcmdzWzBdLCBj
b250ZXh0KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFJlc3VsdFNldFJvd0xpc3RDdXN0b20uY3BwCmluZGV4IDc0
Mzk1Njk1ODFlYjFiNzg3NWFiZjhiZTg4ZDFlMmRjMzlhOTZmZDEuLmE3YzQwNDE5YjFkYzY0ZWI0
OWJiNzAxZjNiOTk4NzFlZDMwZmFlOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFNRTFJlc3VsdFNldFJvd0xpc3RDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFJlc3VsdFNldFJvd0xpc3RDdXN0b20u
Y3BwCkBAIC00NCwxNiArNDQsMTYgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4U1FMUmVzdWx0
U2V0Um93TGlzdDo6aXRlbUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGEKICAgICBJTkNf
U1RBVFMoIkRPTS5TUUxSZXN1bHRTZXRSb3dMaXN0Lml0ZW0oKSIpOwogCiAgICAgaWYgKCFhcmdz
Lkxlbmd0aCgpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpT
eW50YXhFcnJvciwgIkl0ZW0gaW5kZXggaXMgcmVxdWlyZWQuIiwgYXJncy5HZXRJc29sYXRlKCkp
OworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihTeW50YXhFcnJvciwgIkl0ZW0gaW5kZXggaXMg
cmVxdWlyZWQuIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgaWYgKCFhcmdzWzBdLT5Jc051
bWJlcigpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoIkl0ZW0gaW5k
ZXggbXVzdCBiZSBhIG51bWJlci4iLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVy
biB0aHJvd1R5cGVFcnJvcigiSXRlbSBpbmRleCBtdXN0IGJlIGEgbnVtYmVyLiIsIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKIAogICAgIFNRTFJlc3VsdFNldFJvd0xpc3QqIHJvd0xpc3QgPSBWOFNRTFJl
c3VsdFNldFJvd0xpc3Q6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogCiAgICAgdW5zaWduZWQg
bG9uZyBpbmRleCA9IGFyZ3NbMF0tPkludGVnZXJWYWx1ZSgpOwogICAgIGlmIChpbmRleCA+PSBy
b3dMaXN0LT5sZW5ndGgoKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3IoVjhQ
cm94eTo6UmFuZ2VFcnJvciwgIkl0ZW0gaW5kZXggaXMgb3V0IG9mIHJhbmdlLiIsIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoUmFuZ2VFcnJvciwgIkl0ZW0g
aW5kZXggaXMgb3V0IG9mIHJhbmdlLiIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIHY4OjpM
b2NhbDx2ODo6T2JqZWN0PiBpdGVtID0gdjg6Ok9iamVjdDo6TmV3KCk7CiAgICAgdW5zaWduZWQg
bnVtQ29sdW1ucyA9IHJvd0xpc3QtPmNvbHVtbk5hbWVzKCkuc2l6ZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJhbnNhY3Rpb25DdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJhbnNhY3Rpb25D
dXN0b20uY3BwCmluZGV4IGJiYzkzMTQwNjdkZjE4ZjdjNTJlYmIwZTUxZjRlODkyN2VkZDUzMWYu
LmM2NjIyZWI0M2U2NzQyYzIxYmE1MTUwNDIzZWNhMTRkODExNzljNjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9uQ3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlv
bkN1c3RvbS5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4U1FM
VHJhbnNhY3Rpb246OmV4ZWN1dGVTcWxDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJgogICAg
IElOQ19TVEFUUygiRE9NLlNRTFRyYW5zYWN0aW9uLmV4ZWN1dGVTcWwoKSIpOwogCiAgICAgaWYg
KGFyZ3MuTGVuZ3RoKCkgPT0gMCkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2Vw
dGlvbihTWU5UQVhfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRE
T01FeGNlcHRpb24oU1lOVEFYX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgU1RSSU5H
X1RPX1Y4UEFSQU1FVEVSX0VYQ0VQVElPTl9CTE9DSyhWOFBhcmFtZXRlcjw+LCBzdGF0ZW1lbnQs
IGFyZ3NbMF0pOwogCkBAIC02MCw3ICs2MCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFNR
TFRyYW5zYWN0aW9uOjpleGVjdXRlU3FsQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYKIAog
ICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMSAmJiAhaXNVbmRlZmluZWRPck51bGwoYXJnc1sxXSkp
IHsKICAgICAgICAgaWYgKCFhcmdzWzFdLT5Jc09iamVjdCgpKQotICAgICAgICAgICAgcmV0dXJu
IFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJc29s
YXRlKCkpOworICAgICAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENI
X0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgICAgIHVpbnQzMl90IHNxbEFyZ3NMZW5n
dGggPSAwOwogICAgICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gc3FsQXJnc09iamVjdCA9IGFy
Z3NbMV0tPlRvT2JqZWN0KCk7CkBAIC05NiwyMCArOTYsMjAgQEAgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IFY4U1FMVHJhbnNhY3Rpb246OmV4ZWN1dGVTcWxDYWxsYmFjayhjb25zdCB2ODo6QXJndW1l
bnRzJgogICAgIFJlZlB0cjxTUUxTdGF0ZW1lbnRDYWxsYmFjaz4gY2FsbGJhY2s7CiAgICAgaWYg
KGFyZ3MuTGVuZ3RoKCkgPiAyICYmICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzJdKSkgewogICAg
ICAgICBpZiAoIWFyZ3NbMl0tPklzT2JqZWN0KCkpCi0gICAgICAgICAgICByZXR1cm4gVjhQcm94
eTo6c2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7
CisgICAgICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBh
cmdzLkdldElzb2xhdGUoKSk7CiAgICAgICAgIGNhbGxiYWNrID0gVjhTUUxTdGF0ZW1lbnRDYWxs
YmFjazo6Y3JlYXRlKGFyZ3NbMl0sIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwogICAgIH0KIAog
ICAgIFJlZlB0cjxTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrOwogICAg
IGlmIChhcmdzLkxlbmd0aCgpID4gMyAmJiAhaXNVbmRlZmluZWRPck51bGwoYXJnc1szXSkpIHsK
ICAgICAgICAgaWYgKCFhcmdzWzNdLT5Jc09iamVjdCgpKQotICAgICAgICAgICAgcmV0dXJuIFY4
UHJveHk6OnNldERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJc29sYXRl
KCkpOworICAgICAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENIX0VS
UiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICBlcnJvckNhbGxiYWNrID0gVjhTUUxTdGF0
ZW1lbnRFcnJvckNhbGxiYWNrOjpjcmVhdGUoYXJnc1szXSwgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCk7CiAgICAgfQogCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgdHJhbnNhY3Rpb24t
PmV4ZWN1dGVTUUwoc3RhdGVtZW50LCBzcWxWYWx1ZXMsIGNhbGxiYWNrLCBlcnJvckNhbGxiYWNr
LCBlYyk7Ci0gICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUo
KSk7CisgICAgc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBy
ZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJhbnNhY3Rpb25TeW5jQ3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9uU3luY0N1c3RvbS5jcHAK
aW5kZXggMzdlYjY0YWM4NjA3Mzc1NTY4ODU0YWI2NGJmYzY2MTcyNWE5YjczZC4uZjZlOTlkMjA2
ZjljOGMyZDE2YmE5NGFiMWI2YjBjY2E2YzNmM2M1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJhbnNhY3Rpb25TeW5jQ3VzdG9tLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlvblN5bmND
dXN0b20uY3BwCkBAIC01Miw3ICs1Miw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFNRTFRy
YW5zYWN0aW9uU3luYzo6ZXhlY3V0ZVNxbENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVuCiAgICAg
SU5DX1NUQVRTKCJET00uU1FMVHJhbnNhY3Rpb25TeW5jLmV4ZWN1dGVTcWwoKSIpOwogCiAgICAg
aWYgKCFhcmdzLkxlbmd0aCgpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0
aW9uKFNZTlRBWF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNldERP
TUV4Y2VwdGlvbihTWU5UQVhfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBTVFJJTkdf
VE9fVjhQQVJBTUVURVJfRVhDRVBUSU9OX0JMT0NLKFY4UGFyYW1ldGVyPD4sIHN0YXRlbWVudCwg
YXJnc1swXSk7CiAKQEAgLTYwLDcgKzYwLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4U1FM
VHJhbnNhY3Rpb25TeW5jOjpleGVjdXRlU3FsQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW4KIAog
ICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMSAmJiAhaXNVbmRlZmluZWRPck51bGwoYXJnc1sxXSkp
IHsKICAgICAgICAgaWYgKCFhcmdzWzFdLT5Jc09iamVjdCgpKQotICAgICAgICAgICAgcmV0dXJu
IFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJc29s
YXRlKCkpOworICAgICAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENI
X0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgICAgIHVpbnQzMl90IHNxbEFyZ3NMZW5n
dGggPSAwOwogICAgICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gc3FsQXJnc09iamVjdCA9IGFy
Z3NbMV0tPlRvT2JqZWN0KCk7CkBAIC05MSw3ICs5MSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBWOFNRTFRyYW5zYWN0aW9uU3luYzo6ZXhlY3V0ZVNxbENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1
bWVuCiAKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gcmVzdWx0ID0gdG9WOCh0cmFuc2FjdGlvbi0+ZXhlY3V0ZVNRTChzdGF0ZW1lbnQsIHNxbFZh
bHVlcywgZWMpLCBhcmdzLkdldElzb2xhdGUoKSk7Ci0gICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0
aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdz
LkdldElzb2xhdGUoKSk7CiAKICAgICByZXR1cm4gcmVzdWx0OwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHTGVuZ3RoQ3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNWR0xlbmd0aEN1c3RvbS5jcHAKaW5k
ZXggYThhYTBhMjJlZDgyNjczZjRlMDMyNDVmZGRlNjhhZDk0MmNlZTlhMi4uZjQ5NGFkY2IwNWIw
ZmQ5MWU0YjYyNzMzY2I2ZDNjMzVjMjBmMmQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHTGVuZ3RoQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTVkdMZW5ndGhDdXN0b20uY3BwCkBAIC00OSw3ICs0
OSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFNWR0xlbmd0aDo6dmFsdWVBY2Nlc3Nvckdl
dHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtCiAgICAgU1ZHTGVuZ3RoQ29udGV4dCBsZW5n
dGhDb250ZXh0KHdyYXBwZXItPmNvbnRleHRFbGVtZW50KCkpOwogICAgIGZsb2F0IHZhbHVlID0g
aW1wLnZhbHVlKGxlbmd0aENvbnRleHQsIGVjKTsKICAgICBpZiAoVU5MSUtFTFkoZWMpKQotICAg
ICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUo
KSk7CisgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgp
KTsKICAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KHZhbHVlKTsKIH0KIApAQCAtNTgsMTIgKzU4
LDEyIEBAIHZvaWQgVjhTVkdMZW5ndGg6OnZhbHVlQWNjZXNzb3JTZXR0ZXIodjg6OkxvY2FsPHY4
OjpTdHJpbmc+IG5hbWUsIHY4OjpMb2NhbDx2ODo6CiAgICAgSU5DX1NUQVRTKCJET00uU1ZHTGVu
Z3RoLnZhbHVlLl9zZXQiKTsKICAgICBTVkdQcm9wZXJ0eVRlYXJPZmY8U1ZHTGVuZ3RoPiogd3Jh
cHBlciA9IFY4U1ZHTGVuZ3RoOjp0b05hdGl2ZShpbmZvLkhvbGRlcigpKTsKICAgICBpZiAod3Jh
cHBlci0+aXNSZWFkT25seSgpKSB7Ci0gICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihO
T19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIsIGluZm8uR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAg
c2V0RE9NRXhjZXB0aW9uKE5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUiwgaW5mby5HZXRJc29s
YXRlKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKCFpc1VuZGVmaW5lZE9y
TnVsbCh2YWx1ZSkgJiYgIXZhbHVlLT5Jc051bWJlcigpICYmICF2YWx1ZS0+SXNCb29sZWFuKCkp
IHsKLSAgICAgICAgVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoMCwgaW5mby5HZXRJc29sYXRlKCkp
OworICAgICAgICB0aHJvd1R5cGVFcnJvcigwLCBpbmZvLkdldElzb2xhdGUoKSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKQEAgLTcyLDcgKzcyLDcgQEAgdm9pZCBWOFNWR0xlbmd0aDo6dmFs
dWVBY2Nlc3NvclNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgdjg6OkxvY2FsPHY4
OjoKICAgICBTVkdMZW5ndGhDb250ZXh0IGxlbmd0aENvbnRleHQod3JhcHBlci0+Y29udGV4dEVs
ZW1lbnQoKSk7CiAgICAgaW1wLnNldFZhbHVlKHN0YXRpY19jYXN0PGZsb2F0Pih2YWx1ZS0+TnVt
YmVyVmFsdWUoKSksIGxlbmd0aENvbnRleHQsIGVjKTsKICAgICBpZiAoVU5MSUtFTFkoZWMpKQot
ICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsK
KyAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CiAgICAgZWxz
ZQogICAgICAgICB3cmFwcGVyLT5jb21taXRDaGFuZ2UoKTsKIH0KQEAgLTgyLDEwICs4MiwxMCBA
QCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhTVkdMZW5ndGg6OmNvbnZlcnRUb1NwZWNpZmllZFVu
aXRzQ2FsbGJhY2soY29uc3Qgdjg6OkFyZwogICAgIElOQ19TVEFUUygiRE9NLlNWR0xlbmd0aC5j
b252ZXJ0VG9TcGVjaWZpZWRVbml0cyIpOwogICAgIFNWR1Byb3BlcnR5VGVhck9mZjxTVkdMZW5n
dGg+KiB3cmFwcGVyID0gVjhTVkdMZW5ndGg6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAg
IGlmICh3cmFwcGVyLT5pc1JlYWRPbmx5KCkpCi0gICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRE
T01FeGNlcHRpb24oTk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJSLCBhcmdzLkdldElzb2xhdGUo
KSk7CisgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oTk9fTU9ESUZJQ0FUSU9OX0FMTE9X
RURfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEp
Ci0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRz
RXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgU1ZHTGVuZ3RoJiBpbXAgPSB3cmFwcGVy
LT5wcm9wZXJ0eVJlZmVyZW5jZSgpOwogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwpAQCAtOTMs
NyArOTMsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhTVkdMZW5ndGg6OmNvbnZlcnRUb1Nw
ZWNpZmllZFVuaXRzQ2FsbGJhY2soY29uc3Qgdjg6OkFyZwogICAgIFNWR0xlbmd0aENvbnRleHQg
bGVuZ3RoQ29udGV4dCh3cmFwcGVyLT5jb250ZXh0RWxlbWVudCgpKTsKICAgICBpbXAuY29udmVy
dFRvU3BlY2lmaWVkVW5pdHModW5pdFR5cGUsIGxlbmd0aENvbnRleHQsIGVjKTsKICAgICBpZiAo
VU5MSUtFTFkoZWMpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVj
LCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIHdyYXBwZXItPmNvbW1pdENoYW5nZSgpOwogICAg
IHJldHVybiB2OFVuZGVmaW5lZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4U3RvcmFnZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhTdG9yYWdlQ3VzdG9tLmNwcAppbmRleCBiNzljZGJkYjhjYmQyZjc5MGEw
MGFlYTA2YjA0N2FlMzY3MjdhYjNkLi41YzRkYzAyZDQ3M2FhMDI1MDM0M2Q5Yzc1ZmNhZThmMTNi
YmY4YzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhT
dG9yYWdlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhTdG9yYWdlQ3VzdG9tLmNwcApAQCAtMTA4LDcgKzEwOCw3IEBAIHN0YXRpYyB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gc3RvcmFnZVNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gdjhOYW1lLCB2
ODo6TG9jCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgc3RvcmFnZS0+c2V0SXRlbShu
YW1lLCB2YWx1ZSwgZWMpOwogICAgIGlmIChlYykKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNl
dERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0
RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CiAKICAgICByZXR1cm4gdjhWYWx1
ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdl
YkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCmluZGV4IDM1YTYyZGIz
Y2I5NDNhYjk2ZDkyNDI1Yjk5ZGY4ZTRhYWM2NGRkMzAuLjM5MDRiYTE2YTM0MjBmZThhZjdmMzBk
MmY0NDE5MzFkOGNkMmE3Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNw
cApAQCAtMjIxLDcgKzIyMSw3IEBAIGVudW0gT2JqZWN0VHlwZSB7CiBzdGF0aWMgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IGdldE9iamVjdFBhcmFtZXRlcihjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdz
LCBPYmplY3RUeXBlIG9iamVjdFR5cGUpCiB7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgIT0gMikK
LSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJn
cy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNF
cnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAg
ICBXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQgPSBWOFdlYkdMUmVuZGVyaW5nQ29udGV4
dDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CkBAIC0yNDcsNyArMjQ3LDcgQEAgc3RhdGljIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBnZXRPYmplY3RQYXJhbWV0ZXIoY29uc3Qgdjg6OkFyZ3VtZW50
cyYgYXJncywgT2JqZWMKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGlmIChlYykKLSAgICAg
ICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkp
OworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7
CiAgICAgcmV0dXJuIHRvVjhPYmplY3QoaW5mbywgYXJncy5HZXRJc29sYXRlKCkpOwogfQogCkBA
IC0yNzEsMTcgKzI3MSwxNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OmdldEF0dGFjaGVkU2hhZGVyc0NhbGxiYWNrKGNvbnN0CiAgICAgSU5DX1NUQVRT
KCJET00uV2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldEF0dGFjaGVkU2hhZGVycygpIik7CiAKICAg
ICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05v
dEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJu
IHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAg
RXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0
ID0gVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAg
IGlmIChhcmdzLkxlbmd0aCgpID4gMCAmJiAhaXNVbmRlZmluZWRPck51bGwoYXJnc1swXSkgJiYg
IVY4V2ViR0xQcm9ncmFtOjpIYXNJbnN0YW5jZShhcmdzWzBdKSkKLSAgICAgICAgcmV0dXJuIFY4
UHJveHk6OnRocm93VHlwZUVycm9yKDAsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0
dXJuIHRocm93VHlwZUVycm9yKDAsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBXZWJHTFByb2dy
YW0qIHByb2dyYW0gPSBWOFdlYkdMUHJvZ3JhbTo6SGFzSW5zdGFuY2UoYXJnc1swXSkgPyBWOFdl
YkdMUHJvZ3JhbTo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzBd
KSkgOiAwOwogICAgIFZlY3RvcjxSZWZQdHI8V2ViR0xTaGFkZXI+ID4gc2hhZGVyczsKICAgICBi
b29sIHN1Y2NlZWQgPSBjb250ZXh0LT5nZXRBdHRhY2hlZFNoYWRlcnMocHJvZ3JhbSwgc2hhZGVy
cywgZWMpOwogICAgIGlmIChlYykgewotICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24o
ZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdz
LkdldElzb2xhdGUoKSk7CiAgICAgICAgIHJldHVybiB2ODo6TnVsbChhcmdzLkdldElzb2xhdGUo
KSk7CiAgICAgfQogICAgIGlmICghc3VjY2VlZCkKQEAgLTMwMyw3ICszMDMsNyBAQCB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEV4dGVuc2lvbkNhbGxi
YWNrKGNvbnN0IHY4OjpBcgogICAgIElOQ19TVEFUUygiRE9NLldlYkdMUmVuZGVyaW5nQ29udGV4
dC5nZXRFeHRlbnNpb25DYWxsYmFjaygpIik7CiAgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBp
bXAgPSBWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAg
ICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dO
b3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVy
biB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBT
VFJJTkdfVE9fVjhQQVJBTUVURVJfRVhDRVBUSU9OX0JMT0NLKFY4UGFyYW1ldGVyPD4sIG5hbWUs
IGFyZ3NbMF0pOwogICAgIFdlYkdMRXh0ZW5zaW9uKiBleHRlbnNpb24gPSBpbXAtPmdldEV4dGVu
c2lvbihuYW1lKTsKICAgICByZXR1cm4gdG9WOE9iamVjdChleHRlbnNpb24sIGFyZ3MuSG9sZGVy
KCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKQEAgLTMxNCw3ICszMTQsNyBAQCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEZyYW1lYnVmZmVyQXR0YWNobWVu
dFBhcmFtZXRlcgogICAgIElOQ19TVEFUUygiRE9NLldlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRG
cmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoKSIpOwogCiAgICAgaWYgKGFyZ3MuTGVuZ3Ro
KCkgIT0gMykKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRz
RXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hB
cmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBFeGNlcHRpb25Db2RlIGVj
ID0gMDsKICAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQgPSBWOFdlYkdMUmVuZGVy
aW5nQ29udGV4dDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CkBAIC0zMjMsNyArMzIzLDcgQEAg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRGcmFtZWJ1
ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIKICAgICB1bnNpZ25lZCBwbmFtZSA9IHRvSW50MzIoYXJn
c1syXSk7CiAgICAgV2ViR0xHZXRJbmZvIGluZm8gPSBjb250ZXh0LT5nZXRGcmFtZWJ1ZmZlckF0
dGFjaG1lbnRQYXJhbWV0ZXIodGFyZ2V0LCBhdHRhY2htZW50LCBwbmFtZSwgZWMpOwogICAgIGlm
IChlYykKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5H
ZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdl
dElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHRvVjhPYmplY3QoaW5mbywgYXJncy5HZXRJc29sYXRl
KCkpOwogfQogCkBAIC0zMzIsMTQgKzMzMiwxNCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFBhcmFtZXRlckNhbGxiYWNrKGNvbnN0IHY4OjpBcgog
ICAgIElOQ19TVEFUUygiRE9NLldlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRQYXJhbWV0ZXIoKSIp
OwogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgIT0gMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6
OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAg
ICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7
CiAKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHQq
IGNvbnRleHQgPSBWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIo
KSk7CiAgICAgdW5zaWduZWQgcG5hbWUgPSB0b0ludDMyKGFyZ3NbMF0pOwogICAgIFdlYkdMR2V0
SW5mbyBpbmZvID0gY29udGV4dC0+Z2V0UGFyYW1ldGVyKHBuYW1lLCBlYyk7CiAgICAgaWYgKGVj
KQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElz
b2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKICAgICByZXR1cm4gdG9WOE9iamVjdChpbmZvLCBhcmdzLkdldElzb2xhdGUoKSk7
CiB9CiAKQEAgLTM0OCwxNyArMzQ4LDE3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYkdM
UmVuZGVyaW5nQ29udGV4dDo6Z2V0UHJvZ3JhbVBhcmFtZXRlckNhbGxiYWNrKGNvbnN0CiAgICAg
SU5DX1NUQVRTKCJET00uV2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldFByb2dyYW1QYXJhbWV0ZXIo
KSIpOwogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgIT0gMikKLSAgICAgICAgcmV0dXJuIFY4UHJv
eHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAg
ICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUo
KSk7CiAKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICBXZWJHTFJlbmRlcmluZ0NvbnRl
eHQqIGNvbnRleHQgPSBWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dG9OYXRpdmUoYXJncy5Ib2xk
ZXIoKSk7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAwICYmICFpc1VuZGVmaW5lZE9yTnVsbChh
cmdzWzBdKSAmJiAhVjhXZWJHTFByb2dyYW06Okhhc0luc3RhbmNlKGFyZ3NbMF0pKQotICAgICAg
ICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoMCwgYXJncy5HZXRJc29sYXRlKCkpOwor
ICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoMCwgYXJncy5HZXRJc29sYXRlKCkpOwogICAg
IFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSA9IFY4V2ViR0xQcm9ncmFtOjpIYXNJbnN0YW5jZShhcmdz
WzBdKSA/IFY4V2ViR0xQcm9ncmFtOjp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpD
YXN0KGFyZ3NbMF0pKSA6IDA7CiAgICAgdW5zaWduZWQgcG5hbWUgPSB0b0ludDMyKGFyZ3NbMV0p
OwogICAgIFdlYkdMR2V0SW5mbyBpbmZvID0gY29udGV4dC0+Z2V0UHJvZ3JhbVBhcmFtZXRlcihw
cm9ncmFtLCBwbmFtZSwgZWMpOwogICAgIGlmIChlYykKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6
OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4g
c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHRvVjhP
YmplY3QoaW5mbywgYXJncy5HZXRJc29sYXRlKCkpOwogfQogCkBAIC0zNzMsMTcgKzM3MywxNyBA
QCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFNoYWRl
clBhcmFtZXRlckNhbGxiYWNrKGNvbnN0CiAgICAgSU5DX1NUQVRTKCJET00uV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmdldFNoYWRlclBhcmFtZXRlcigpIik7CiAKICAgICBpZiAoYXJncy5MZW5ndGgo
KSAhPSAyKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNF
cnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFy
Z3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMg
PSAwOwogICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCA9IFY4V2ViR0xSZW5kZXJp
bmdDb250ZXh0Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBpZiAoYXJncy5MZW5ndGgo
KSA+IDAgJiYgIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbMF0pICYmICFWOFdlYkdMU2hhZGVyOjpI
YXNJbnN0YW5jZShhcmdzWzBdKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVy
cm9yKDAsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9y
KDAsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBXZWJHTFNoYWRlciogc2hhZGVyID0gVjhXZWJH
TFNoYWRlcjo6SGFzSW5zdGFuY2UoYXJnc1swXSkgPyBWOFdlYkdMU2hhZGVyOjp0b05hdGl2ZSh2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMF0pKSA6IDA7CiAgICAgdW5zaWduZWQg
cG5hbWUgPSB0b0ludDMyKGFyZ3NbMV0pOwogICAgIFdlYkdMR2V0SW5mbyBpbmZvID0gY29udGV4
dC0+Z2V0U2hhZGVyUGFyYW1ldGVyKHNoYWRlciwgcG5hbWUsIGVjKTsKICAgICBpZiAoZWMpCi0g
ICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRl
KCkpOwogICAgIHJldHVybiB0b1Y4T2JqZWN0KGluZm8sIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIH0K
IApAQCAtNDEyLDIyICs0MTIsMjIgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViR0xSZW5k
ZXJpbmdDb250ZXh0OjpnZXRVbmlmb3JtQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3UKICAgICBJTkNf
U1RBVFMoIkRPTS5XZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0VW5pZm9ybSgpIik7CiAKICAgICBp
ZiAoYXJncy5MZW5ndGgoKSAhPSAyKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RF
bm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0
aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIEV4
Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCA9
IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBp
ZiAoYXJncy5MZW5ndGgoKSA+IDAgJiYgIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbMF0pICYmICFW
OFdlYkdMUHJvZ3JhbTo6SGFzSW5zdGFuY2UoYXJnc1swXSkpCi0gICAgICAgIHJldHVybiBWOFBy
b3h5Ojp0aHJvd1R5cGVFcnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVy
biB0aHJvd1R5cGVFcnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgV2ViR0xQcm9ncmFt
KiBwcm9ncmFtID0gVjhXZWJHTFByb2dyYW06Okhhc0luc3RhbmNlKGFyZ3NbMF0pID8gVjhXZWJH
TFByb2dyYW06OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1swXSkp
IDogMDsKIAogICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMSAmJiAhaXNVbmRlZmluZWRPck51bGwo
YXJnc1sxXSkgJiYgIVY4V2ViR0xVbmlmb3JtTG9jYXRpb246Okhhc0luc3RhbmNlKGFyZ3NbMV0p
KQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoMCwgYXJncy5HZXRJc29s
YXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoMCwgYXJncy5HZXRJc29sYXRl
KCkpOwogICAgIGJvb2wgb2sgPSBmYWxzZTsKICAgICBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9j
YXRpb24gPSB0b1dlYkdMVW5pZm9ybUxvY2F0aW9uKGFyZ3NbMV0sIG9rKTsKIAogICAgIFdlYkdM
R2V0SW5mbyBpbmZvID0gY29udGV4dC0+Z2V0VW5pZm9ybShwcm9ncmFtLCBsb2NhdGlvbiwgZWMp
OwogICAgIGlmIChlYykKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihl
YywgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVj
LCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHRvVjhPYmplY3QoaW5mbywgYXJncy5H
ZXRJc29sYXRlKCkpOwogfQogCkBAIC00NzcsNyArNDc3LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiB2ZXJ0ZXhBdHRyaWJBbmRVbmlmb3JtSGVscGVyZihjb25zdCB2ODo6QXJndW1l
bnRzJgogICAgIC8vICogZ2xWZXJ0ZXhBdHRyaWI0ZnYoR0xpbnQgaW5kZXgsIEZsb2F0MzJBcnJh
eSBkYXRhKTsKIAogICAgIGlmIChhcmdzLkxlbmd0aCgpICE9IDIpCi0gICAgICAgIHJldHVybiBW
OFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsK
KyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29s
YXRlKCkpOwogCiAgICAgYm9vbCBvayA9IGZhbHNlOwogICAgIGludCBpbmRleCA9IC0xOwpAQCAt
NDg3LDcgKzQ4Nyw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmVydGV4QXR0cmli
QW5kVW5pZm9ybUhlbHBlcmYoY29uc3Qgdjg6OkFyZ3VtZW50cyYKICAgICAgICAgaW5kZXggPSB0
b0ludDMyKGFyZ3NbMF0pOwogICAgIGVsc2UgewogICAgICAgICBpZiAoYXJncy5MZW5ndGgoKSA+
IDAgJiYgIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbMF0pICYmICFWOFdlYkdMVW5pZm9ybUxvY2F0
aW9uOjpIYXNJbnN0YW5jZShhcmdzWzBdKSkKLSAgICAgICAgICAgIHJldHVybiBWOFByb3h5Ojp0
aHJvd1R5cGVFcnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgICAgICByZXR1cm4g
dGhyb3dUeXBlRXJyb3IoMCwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICBsb2NhdGlvbiA9
IHRvV2ViR0xVbmlmb3JtTG9jYXRpb24oYXJnc1swXSwgb2spOwogICAgIH0KIApAQCAtNTA5LDE5
ICs1MDksMTkgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2ZXJ0ZXhBdHRyaWJBbmRV
bmlmb3JtSGVscGVyZihjb25zdCB2ODo6QXJndW1lbnRzJgogICAgICAgICAgICAgZGVmYXVsdDog
QVNTRVJUX05PVF9SRUFDSEVEKCk7IGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGlmIChlYykK
LSAgICAgICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKKyAgICAgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKICAgICB9CiAK
ICAgICBpZiAoYXJnc1sxXS5Jc0VtcHR5KCkgfHwgIWFyZ3NbMV0tPklzQXJyYXkoKSkKLSAgICAg
ICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKDAsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsK
KyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKDAsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAg
ICB2ODo6SGFuZGxlPHY4OjpBcnJheT4gYXJyYXkgPQogICAgICAgdjg6OkxvY2FsPHY4OjpBcnJh
eT46OkNhc3QoYXJnc1sxXSk7CiAgICAgdWludDMyX3QgbGVuID0gYXJyYXktPkxlbmd0aCgpOwog
ICAgIGZsb2F0KiBkYXRhID0ganNBcnJheVRvRmxvYXRBcnJheShhcnJheSwgbGVuKTsKICAgICBp
ZiAoIWRhdGEpIHsKICAgICAgICAgLy8gRklYTUU6IGNvbnNpZGVyIGRpZmZlcmVudCAvIGJldHRl
ciBleGNlcHRpb24gdHlwZS4KLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlv
bihTWU5UQVhfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRET01F
eGNlcHRpb24oU1lOVEFYX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIH0KICAgICBFeGNl
cHRpb25Db2RlIGVjID0gMDsKICAgICBzd2l0Y2ggKGZ1bmN0aW9uVG9DYWxsKSB7CkBAIC01Mzcs
NyArNTM3LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2ZXJ0ZXhBdHRyaWJBbmRV
bmlmb3JtSGVscGVyZihjb25zdCB2ODo6QXJndW1lbnRzJgogICAgIH0KICAgICBmYXN0RnJlZShk
YXRhKTsKICAgICBpZiAoZWMpCi0gICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRp
b24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlv
bihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiB9
CiAKQEAgLTU1NCwxMSArNTU0LDExIEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdW5p
Zm9ybUhlbHBlcmkoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywKICAgICAvLyAqIGdsVW5pZm9y
bTRpdihHTFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwgSW50MzJBcnJheSBkYXRhKTsKIAogICAg
IGlmIChhcmdzLkxlbmd0aCgpICE9IDIpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05v
dEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJu
IHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAg
V2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0ID0gVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMCAmJiAh
aXNVbmRlZmluZWRPck51bGwoYXJnc1swXSkgJiYgIVY4V2ViR0xVbmlmb3JtTG9jYXRpb246Okhh
c0luc3RhbmNlKGFyZ3NbMF0pKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJy
b3IoMCwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3Io
MCwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIGJvb2wgb2sgPSBmYWxzZTsKICAgICBXZWJHTFVu
aWZvcm1Mb2NhdGlvbiogbG9jYXRpb24gPSB0b1dlYkdMVW5pZm9ybUxvY2F0aW9uKGFyZ3NbMF0s
IG9rKTsKIApAQCAtNTc0LDE5ICs1NzQsMTkgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiB1bmlmb3JtSGVscGVyaShjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzLAogICAgICAgICAgICAg
ZGVmYXVsdDogQVNTRVJUX05PVF9SRUFDSEVEKCk7IGJyZWFrOwogICAgICAgICB9CiAgICAgICAg
IGlmIChlYykKLSAgICAgICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24o
ZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsK
ICAgICB9CiAKICAgICBpZiAoYXJnc1sxXS5Jc0VtcHR5KCkgfHwgIWFyZ3NbMV0tPklzQXJyYXko
KSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKDAsIGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKDAsIGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKICAgICB2ODo6SGFuZGxlPHY4OjpBcnJheT4gYXJyYXkgPQogICAgICAgdjg6OkxvY2Fs
PHY4OjpBcnJheT46OkNhc3QoYXJnc1sxXSk7CiAgICAgdWludDMyX3QgbGVuID0gYXJyYXktPkxl
bmd0aCgpOwogICAgIGludCogZGF0YSA9IGpzQXJyYXlUb0ludEFycmF5KGFycmF5LCBsZW4pOwog
ICAgIGlmICghZGF0YSkgewogICAgICAgICAvLyBGSVhNRTogY29uc2lkZXIgZGlmZmVyZW50IC8g
YmV0dGVyIGV4Y2VwdGlvbiB0eXBlLgotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhj
ZXB0aW9uKFNZTlRBWF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNl
dERPTUV4Y2VwdGlvbihTWU5UQVhfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgfQogICAg
IEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIHN3aXRjaCAoZnVuY3Rpb25Ub0NhbGwpIHsKQEAg
LTU5OCw3ICs1OTgsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHVuaWZvcm1IZWxw
ZXJpKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MsCiAgICAgfQogICAgIGZhc3RGcmVlKGRhdGEp
OwogICAgIGlmIChlYykKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihl
YywgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVj
LCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKIH0KIApA
QCAtNjYzLDEyICs2NjMsMTIgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB1bmlmb3Jt
TWF0cml4SGVscGVyKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MsCiAgICAgLy8KICAgICAvLyBG
SVhNRTogbmVlZCB0byBjaGFuZ2UgdG8gYWNjZXB0IEZsb2F0MzJBcnJheSBhcyB3ZWxsLgogICAg
IGlmIChhcmdzLkxlbmd0aCgpICE9IDMpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05v
dEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJu
IHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAg
V2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0ID0gVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAwICYm
ICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzBdKSAmJiAhVjhXZWJHTFVuaWZvcm1Mb2NhdGlvbjo6
SGFzSW5zdGFuY2UoYXJnc1swXSkpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVF
cnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJv
cigwLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgYm9vbCBvayA9IGZhbHNlOwogICAgIFdlYkdM
VW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiA9IHRvV2ViR0xVbmlmb3JtTG9jYXRpb24oYXJnc1sw
XSwgb2spOwogICAgIApAQCAtNjg0LDE5ICs2ODQsMTkgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiB1bmlmb3JtTWF0cml4SGVscGVyKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MsCiAg
ICAgICAgICAgICBkZWZhdWx0OiBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgYnJlYWs7CiAgICAgICAg
IH0KICAgICAgICAgaWYgKGVjKQotICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4
Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICAgICAgcmV0dXJuIHNldERP
TUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICByZXR1cm4gdjg6OlVu
ZGVmaW5lZCgpOwogICAgIH0KIAogICAgIGlmIChhcmdzWzJdLklzRW1wdHkoKSB8fCAhYXJnc1sy
XS0+SXNBcnJheSgpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoMCwg
YXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoMCwgYXJn
cy5HZXRJc29sYXRlKCkpOwogICAgIHY4OjpIYW5kbGU8djg6OkFycmF5PiBhcnJheSA9CiAgICAg
ICB2ODo6TG9jYWw8djg6OkFycmF5Pjo6Q2FzdChhcmdzWzJdKTsKICAgICB1aW50MzJfdCBsZW4g
PSBhcnJheS0+TGVuZ3RoKCk7CiAgICAgZmxvYXQqIGRhdGEgPSBqc0FycmF5VG9GbG9hdEFycmF5
KGFycmF5LCBsZW4pOwogICAgIGlmICghZGF0YSkgewogICAgICAgICAvLyBGSVhNRTogY29uc2lk
ZXIgZGlmZmVyZW50IC8gYmV0dGVyIGV4Y2VwdGlvbiB0eXBlLgotICAgICAgICByZXR1cm4gVjhQ
cm94eTo6c2V0RE9NRXhjZXB0aW9uKFNZTlRBWF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAg
ICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihTWU5UQVhfRVJSLCBhcmdzLkdldElzb2xhdGUo
KSk7CiAgICAgfQogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIHN3aXRjaCAobWF0cml4
U2l6ZSkgewpAQCAtNzA3LDcgKzcwNyw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
dW5pZm9ybU1hdHJpeEhlbHBlcihjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzLAogICAgIH0KICAg
ICBmYXN0RnJlZShkYXRhKTsKICAgICBpZiAoZWMpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojpz
ZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsgCisgICAgICAgIHJldHVybiBz
ZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsgCiAgICAgcmV0dXJuIHY4OjpV
bmRlZmluZWQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4V2ViS2l0UG9pbnRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhXZWJLaXRQb2ludENvbnN0cnVjdG9yLmNwcAppbmRleCBjODQ0NTJj
N2M1YjQ0ZDEwZGNmZjE2MTQ5NGY3NjdlMjY1OTIwMjZkLi5kZTQwMjJhOGJlZGE2MWYxY2RmYWY4
OTliMjkyZjlkNGRjMDU4ZTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhXZWJLaXRQb2ludENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRQb2ludENvbnN0cnVjdG9yLmNwcApAQCAtNDUs
NyArNDUsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXZWJLaXRQb2ludDo6Y29uc3RydWN0
b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcgogICAgIElOQ19TVEFUUygiRE9NLldl
YktpdFBvaW50LkNvbnN0cnVjdG9yIik7CiAKICAgICBpZiAoIWFyZ3MuSXNDb25zdHJ1Y3RDYWxs
KCkpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiRE9NIG9iamVjdCBj
b25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIiwgYXJncy5HZXRJc29s
YXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkRPTSBvYmplY3QgY29uc3Ry
dWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIsIGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKIAogICAgIGlmIChDb25zdHJ1Y3Rvck1vZGU6OmN1cnJlbnQoKSA9PSBDb25zdHJ1Y3Rvck1v
ZGU6OldyYXBFeGlzdGluZ09iamVjdCkKICAgICAgICAgcmV0dXJuIGFyZ3MuSG9sZGVyKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJTb2NrZXRD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViU29ja2V0
Q3VzdG9tLmNwcAppbmRleCAxZjA5YTg4NjBhZTU2ZjIzODYzZGZhMGQyODdkZmJhZjY2ZDc3ZmFl
Li4zZDQ0YjUyOTIwOGFkMzgzYTVmODU3MWQyMTIxZTk1MjU2ZWJjNDg0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJTb2NrZXRDdXN0b20uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYlNvY2tldEN1c3RvbS5j
cHAKQEAgLTU3LDI1ICs1NywyNSBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXZWJTb2NrZXQ6
OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncwogICAgIElOQ19T
VEFUUygiRE9NLldlYlNvY2tldC5Db25zdHJ1Y3RvciIpOwogCiAgICAgaWYgKCFhcmdzLklzQ29u
c3RydWN0Q2FsbCgpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoIkRP
TSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIsIGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKCJET00gb2Jq
ZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4iLCBhcmdzLkdl
dElzb2xhdGUoKSk7CiAKICAgICBpZiAoQ29uc3RydWN0b3JNb2RlOjpjdXJyZW50KCkgPT0gQ29u
c3RydWN0b3JNb2RlOjpXcmFwRXhpc3RpbmdPYmplY3QpCiAgICAgICAgIHJldHVybiBhcmdzLkhv
bGRlcigpOwogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPT0gMCkKLSAgICAgICAgcmV0dXJuIFY4
UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwor
ICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xh
dGUoKSk7CiAKICAgICB2ODo6VHJ5Q2F0Y2ggdHJ5Q2F0Y2g7CiAgICAgdjg6OkhhbmRsZTx2ODo6
U3RyaW5nPiB1cmxzdHJpbmcgPSBhcmdzWzBdLT5Ub1N0cmluZygpOwogICAgIGlmICh0cnlDYXRj
aC5IYXNDYXVnaHQoKSkKICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IodHJ5Q2F0Y2guRXhjZXB0
aW9uKCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBpZiAodXJsc3RyaW5nLklzRW1wdHkoKSkK
LSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6U3ludGF4RXJyb3Is
ICJFbXB0eSBVUkwiLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd0Vy
cm9yKFN5bnRheEVycm9yLCAiRW1wdHkgVVJMIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAg
Ly8gR2V0IHRoZSBzY3JpcHQgZXhlY3V0aW9uIGNvbnRleHQuCiAgICAgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCA9IGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICBpZiAo
IWNvbnRleHQpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJl
ZmVyZW5jZUVycm9yLCAiV2ViU29ja2V0IGNvbnN0cnVjdG9yJ3MgYXNzb2NpYXRlZCBmcmFtZSBp
cyBub3QgYXZhaWxhYmxlIiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhy
b3dFcnJvcihSZWZlcmVuY2VFcnJvciwgIldlYlNvY2tldCBjb25zdHJ1Y3RvcidzIGFzc29jaWF0
ZWQgZnJhbWUgaXMgbm90IGF2YWlsYWJsZSIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIGNv
bnN0IEtVUkwmIHVybCA9IGNvbnRleHQtPmNvbXBsZXRlVVJMKHRvV2ViQ29yZVN0cmluZyh1cmxz
dHJpbmcpKTsKIApAQCAtMTA2LDcgKzEwNiw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdl
YlNvY2tldDo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzCiAg
ICAgICAgIH0KICAgICB9CiAgICAgaWYgKGVjKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0
RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRE
T01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gd3JhcHBlciA9IGFyZ3MuSG9sZGVyKCk7CiAgICAgVjhET01XcmFwcGVyOjpzZXRE
T01XcmFwcGVyKHdyYXBwZXIsICZpbmZvLCB3ZWJTb2NrZXQuZ2V0KCkpOwpAQCAtMTE5LDcgKzEx
OSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYlNvY2tldDo6c2VuZENhbGxiYWNrKGNv
bnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgSU5DX1NUQVRTKCJET00uV2ViU29ja2V0LnNl
bmQoKSIpOwogCiAgICAgaWYgKCFhcmdzLkxlbmd0aCgpKQotICAgICAgICByZXR1cm4gVjhQcm94
eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAg
ICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKIAogICAgIFdlYlNvY2tldCogd2ViU29ja2V0ID0gVjhXZWJTb2NrZXQ6OnRvTmF0aXZlKGFy
Z3MuSG9sZGVyKCkpOwogICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBtZXNzYWdlID0gYXJnc1sw
XTsKQEAgLTE0NSw3ICsxNDUsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXZWJTb2NrZXQ6
OnNlbmRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgICAgICByZXN1bHQg
PSB3ZWJTb2NrZXQtPnNlbmQodG9XZWJDb3JlU3RyaW5nKHN0cmluZ01lc3NhZ2UpLCBlYyk7CiAg
ICAgfQogICAgIGlmIChlYykKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlv
bihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9u
KGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICByZXR1cm4gdjhCb29sZWFuKHJlc3VsdCwg
YXJncy5HZXRJc29sYXRlKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4V29ya2VyQ29udGV4dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcAppbmRleCAxZjdkYTA3
YTQ3MGNiZjY1MTAyYzY5NjM0ZjQ2MzlkY2Y2OGVlNjU1Li41NzIzMjU3OGNkYWQxMDk2YjlmMWJh
OWM3NDg1YmFlZWE1Mzg0OWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcApAQCAtMTA2LDcgKzEw
Niw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdvcmtlckNvbnRleHQ6OmltcG9ydFNjcmlw
dHNDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzCiAgICAgd29ya2VyQ29udGV4dC0+aW1wb3J0
U2NyaXB0cyh1cmxzLCBlYyk7CiAKICAgICBpZiAoZWMpCi0gICAgICAgIHJldHVybiBWOFByb3h5
OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJu
IHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgcmV0dXJuIHY4
OjpVbmRlZmluZWQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOFdvcmtlckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhXb3JrZXJDdXN0b20uY3BwCmluZGV4IDA3ZmYyZDA0MmIzZWY5ODYzN2Y3OWZkYzVj
NTkwMzlhMjY4MmYxOWUuLjk0NWMyOWVjMGRmZDY5YmFkY2VlNzU5YWUwMWQ0ZTAwNTVhOTk3OTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckN1
c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2Vy
Q3VzdG9tLmNwcApAQCAtNjgsNyArNjgsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncwogICAg
ICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwog
ICAgIHdvcmtlci0+cG9zdE1lc3NhZ2UobWVzc2FnZS5yZWxlYXNlKCksICZwb3J0cywgZWMpOwot
ICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKKyAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiB9
CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdvcmtlcjo6cG9zdE1lc3NhZ2VDYWxsYmFjayhj
b25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4WE1MSHR0cFJlcXVlc3RDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yLmNw
cAppbmRleCA5ZTg3MjA5YjJiMDQ5ZDk0ZDhlYjk0MmUzOWQ5Y2VlZTdmOTdmYjY5Li43YmQ2NzMw
ODIzOGQzY2VkNmJmZmQ0MzA0MzQ1ZjQxMDI5MjFjZjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdENv
bnN0cnVjdG9yLmNwcApAQCAtNDgsNyArNDgsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhY
TUxIdHRwUmVxdWVzdDo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJgog
ICAgIElOQ19TVEFUUygiRE9NLlhNTEh0dHBSZXF1ZXN0LkNvbnN0cnVjdG9yIik7CiAKICAgICBp
ZiAoIWFyZ3MuSXNDb25zdHJ1Y3RDYWxsKCkpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJv
d1R5cGVFcnJvcigiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEg
ZnVuY3Rpb24uIiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dUeXBl
RXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0
aW9uLiIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIGlmIChDb25zdHJ1Y3Rvck1vZGU6OmN1
cnJlbnQoKSA9PSBDb25zdHJ1Y3Rvck1vZGU6OldyYXBFeGlzdGluZ09iamVjdCkKICAgICAgICAg
cmV0dXJuIGFyZ3MuSG9sZGVyKCk7CkBAIC01Nyw3ICs1Nyw3IEBAIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBWOFhNTEh0dHBSZXF1ZXN0Ojpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1
bWVudHMmCiAgICAgLy8gQWxsb2NhdGUgYSBYTUxIdHRwUmVxdWVzdCBvYmplY3QgYXMgaXRzIGlu
dGVybmFsIGZpZWxkLgogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBnZXRT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CiAgICAgaWYgKCFjb250ZXh0KQotICAgICAgICByZXR1
cm4gVjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpSZWZlcmVuY2VFcnJvciwgIlhNTEh0dHBS
ZXF1ZXN0IGNvbnN0cnVjdG9yJ3MgYXNzb2NpYXRlZCBjb250ZXh0IGlzIG5vdCBhdmFpbGFibGUi
LCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFJlZmVyZW5j
ZUVycm9yLCAiWE1MSHR0cFJlcXVlc3QgY29uc3RydWN0b3IncyBhc3NvY2lhdGVkIGNvbnRleHQg
aXMgbm90IGF2YWlsYWJsZSIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIFJlZlB0cjxTZWN1
cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW47CiAgICAgaWYgKFY4SXNvbGF0ZWRDb250ZXh0KiBp
c29sYXRlZENvbnRleHQgPSBWOElzb2xhdGVkQ29udGV4dDo6Z2V0RW50ZXJlZCgpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4WE1MSHR0cFJlcXVlc3RD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4WE1MSHR0cFJl
cXVlc3RDdXN0b20uY3BwCmluZGV4IDRiYjU3MDA0YzY0MmFlM2FkZjUzZTNiMmNkYjY1NGM4OTdi
MTk0OWIuLmY4OWUzYzk3ZDg4N2NjYTMwMGU5NTAzMjY0ZGIzNjI2YmJmNjNkOTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q3Vz
dG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRw
UmVxdWVzdEN1c3RvbS5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IFY4WE1MSHR0cFJlcXVlc3Q6OnJlc3BvbnNlVGV4dEFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2
ODoKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICBjb25zdCBTdHJpbmcmIHRleHQgPSB4
bWxIdHRwUmVxdWVzdC0+cmVzcG9uc2VUZXh0KGVjKTsKICAgICBpZiAoZWMpCi0gICAgICAgIHJl
dHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKKyAg
ICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOwogICAg
IHJldHVybiB2OFN0cmluZyh0ZXh0LCBpbmZvLkdldElzb2xhdGUoKSk7CiB9CiAKQEAgLTc2LDcg
Kzc2LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4WE1MSHR0cFJlcXVlc3Q6OnJlc3BvbnNl
QWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHIKICAgICAgICAgICAgIEV4Y2VwdGlvbkNv
ZGUgZWMgPSAwOwogICAgICAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0geG1sSHR0cFJlcXVl
c3QtPnJlc3BvbnNlWE1MKGVjKTsKICAgICAgICAgICAgIGlmIChlYykKLSAgICAgICAgICAgICAg
ICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7
CisgICAgICAgICAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJc29s
YXRlKCkpOwogICAgICAgICAgICAgcmV0dXJuIHRvVjgoZG9jdW1lbnQsIGluZm8uR2V0SXNvbGF0
ZSgpKTsKICAgICAgICAgfQogCkBAIC04NSw3ICs4NSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBWOFhNTEh0dHBSZXF1ZXN0OjpyZXNwb25zZUFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6
U3RyCiAgICAgICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICAgICAgICAgIEJsb2Iq
IGJsb2IgPSB4bWxIdHRwUmVxdWVzdC0+cmVzcG9uc2VCbG9iKGVjKTsKICAgICAgICAgICAgIGlm
IChlYykKLSAgICAgICAgICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVj
LCBpbmZvLkdldElzb2xhdGUoKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHNldERPTUV4Y2Vw
dGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOwogICAgICAgICAgICAgcmV0dXJuIHRvVjgoYmxv
YiwgaW5mby5HZXRJc29sYXRlKCkpOwogICAgICAgICB9CiAKQEAgLTk0LDcgKzk0LDcgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4WE1MSHR0cFJlcXVlc3Q6OnJlc3BvbnNlQWNjZXNzb3JHZXR0
ZXIodjg6OkxvY2FsPHY4OjpTdHIKICAgICAgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwog
ICAgICAgICAgICAgQXJyYXlCdWZmZXIqIGFycmF5QnVmZmVyID0geG1sSHR0cFJlcXVlc3QtPnJl
c3BvbnNlQXJyYXlCdWZmZXIoZWMpOwogICAgICAgICAgICAgaWYgKGVjKQotICAgICAgICAgICAg
ICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgp
KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElz
b2xhdGUoKSk7CiAgICAgICAgICAgICByZXR1cm4gdG9WOChhcnJheUJ1ZmZlciwgaW5mby5HZXRJ
c29sYXRlKCkpOwogICAgICAgICB9CiAgICAgfQpAQCAtMTEyLDcgKzExMiw3IEBAIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOFhNTEh0dHBSZXF1ZXN0OjpvcGVuQ2FsbGJhY2soY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXJncykKICAgICAvLyBvcGVuKG1ldGhvZCwgdXJsLCBhc3luYywgdXNlciwgcGFz
c3dkKQogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAyKQotICAgICAgICByZXR1cm4gVjhQcm94
eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAg
ICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKIAogICAgIFhNTEh0dHBSZXF1ZXN0KiB4bWxIdHRwUmVxdWVzdCA9IFY4WE1MSHR0cFJlcXVl
c3Q6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogCkBAIC0xNDMsNyArMTQzLDcgQEAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4WE1MSHR0cFJlcXVlc3Q6Om9wZW5DYWxsYmFjayhjb25zdCB2ODo6
QXJndW1lbnRzJiBhcmdzKQogICAgICAgICB4bWxIdHRwUmVxdWVzdC0+b3BlbihtZXRob2QsIHVy
bCwgZWMpOwogCiAgICAgaWYgKGVjKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhj
ZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRET01FeGNl
cHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIHJldHVybiB2ODo6VW5kZWZpbmVk
KCk7CiB9CkBAIC0yMDAsNyArMjAwLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4WE1MSHR0
cFJlcXVlc3Q6OnNlbmRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIH0K
IAogICAgIGlmIChlYykKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihl
YywgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVj
LCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>157924</attachid>
            <date>2012-08-12 23:24:23 -0700</date>
            <delta_ts>2012-08-12 23:24:23 -0700</delta_ts>
            <desc>Archive of layout-test-results from gce-cr-linux-06</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>365781</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">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
Tw/69FJVEMn6zL4Jxva0EQ1B9Yx9ee4mEHUPiBsRVciQvFZGUh2UodhmIOXIo2UfCnXE7AN5GDX7
cDJsMHuziDCITcPRvziaFOAcVPI0gTsq5W6Xrp+tH2DQJt9a08q5KGJvkbjpq5n2LqPJnLTJ/D1T
0wp+hODhgc5IvImlintvxJCkT2Yks6wNe0rmq0bII87Og3/ezGgrQAegnfFdZWE9IXgMe7jJy/PD
A5fYH5Jy6z/29ss/Tm2fy+kuo3PKJkUsl2inN6cOHzc8KeJVFQ6UV83omeN29Y5rG6z7jAthp9SN
KyC1pFBY5uD4csgDbRlI5D6TRJV4qtLPDUobPW/QJcDlQC6tsgJ2rdQO+SPJFzzxg/UN3F2G5Qr2
GNVAcvbOSapvOfnChOfI1tIVrWRsR6r0rWNJB7597wfxP//1H1BLAwQKAAAAAADGJg1BAAAAAAAA
AAAAAAAAHQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NzczMvVVQJAANziChQg5UoUHV4CwAB
BOgDAAAE6AMAAFBLAwQKAAAAAADGJg1BAAAAAAAAAAAAAAAAJQAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2NzczMvZmlsdGVycy9VVAkAA3OIKFCDlShQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAA
AMYmDUEAAAAAAAAAAAAAAAAsABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY3NzMy9maWx0ZXJz
L2N1c3RvbS9VVAkAA3OIKFCDlShQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIABktDUFlYyvOigAA
AJMAAABiABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0
b20tZmlsdGVyLWNzcy1rZXl3b3JkLWFzLXBhcmFtZXRlci1uYW1lLXN0ZGVyci50eHRVVAkAA2KT
KFBziChQdXgLAAEE6AMAAAToAwAAJcdBC4IwGIDhe7/iO9ZFdNORu4lYdEhjBB0iZG6fOpgztnXo
3yd0eXneJ8lzSvi/lJGClCwlR8ZK3gjRCT5ZDKRXi+41qlWjT5TaF1lGDy+4NeLUiWvV1g08KtFe
2jOHKkZvhk9ESMEE0CbIwaJO4D5vO8sAwUxuNEq6CG/04+oX6RRudtLG7+4HUEsDBBQAAgAIAHct
DUEyTloKCAEAAI8CAABDABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcHl3ZWJzb2NrZXQud3Mu
bG9nLTEzQXVnMjAxMi0wNTM5MzMtb3V0LnR4dFVUCQADEpQoUBWTKFB1eAsAAQToAwAABOgDAAC1
kMtugzAQRfeW+Af2VRqg5AESCwhVAeWBQtwAu2Asm1LsgB2R8j/9zz6XrZQq6t2N5o7OnRvsdvFY
v9VVXdPVpK8kohUjatxxyRF/FgqAR9IdSmyrPS4ERzWWClhwxjCSFWe2+r1XQILRaI+L5NMzchHC
R2mrZLuF0bQNAonh6mXwysaftSsaadPQUcCrrQAFgOC/UxQ5RHma8LI5ZJ4Y9lFOzhtLuJAR57eb
9F2SVqISfccZ+RivCPszw0r9IeiK+QQzWnnjermZDzelaOv83rkIdm0xxlqUJVtA0j2c6ORk+OaW
mssmy6zQufDbP9DMNay1gs9604jvHhFFvud3TzM3HMgX7Q1QSwMEFAACAAgAKC4NQXB5AeJIwQAA
bAkFACYAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy90ZXN0c19ydW4xLnR4dFVUCQADXJUoUCiI
KFB1eAsAAQToAwAABOgDAAC1/duWpDiyLozer1fZg8oA/BBxWZ1VPWftXac/M3v2XFc5cAd3pxIH
b8DjUE//y8wkEKCDici95hpdka7vEzrLZDKZZcdj0XXloazK/u1Dpv8rag5/Fcc+yos+O16K/IdL
f63+TzYl5H9lx6Luo2NT92V9z/qyqbvomN27Isq6rmjhh+iUldW9LYw51MdL00ZVWX8r8iirm/rt
2ty76FA1x2/Rsc26i5HWllkkSnX8dmhe6Q9LCQGYl112qByAS1Hd7Illnhd1dL/lWV90UVZVedGJ
WudZ3XceljW5yg5F5U4VBT6IXqijsr7dexb2uWjbModCBn2j67O36KXsL6W9wLe26ERPYw9nVdQ2
VWHFtkWWN3X1ZgcItr3puqNIrw5Za/3KMaufM1FL/ce6yQsasnaGMUUMXRzCl6w+izFYN315Ko9Y
URrJnX0cSnKRlz2MMDVW8vKZg6b/xdHr/xIkwGQs2mtZl/U5GloyermIb2J/qm6y5wDdLOpYVMUV
at2JP469mERWBn5KFPUsxmF0zYzzJC9FZh3O/bI+Vve8iDxzRE1JXDlEJTpo9+jUHO/4u5nyLAdp
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
RsTvjzOlSrkcjfBX/BBuOd/CppJKnRtmbMRoJEdf/6yI2I0m4Sw8cz/CnBbhV3m8BrlG3hq1Jcc8
IYGOIbmHdd8BlHQw38+mjS2glPusqFtDeEDCgd5Yyven/j5xqr89TtYjlZcjQAC4KVAEmBeAVzEl
RynQ8AjMBuCax4/FL4LDTV7KALqWCrNQQd2CgyZt+Y3vQ6eHM+bePjSu7/MIkNOZ19cZ1P4I5BYB
/RR+lfkEsG8dTtffFJEsV+ATWLRuLQU6aC6c9K6Bqny6vvj5p+ufP23Q58319YcfNkuzDy2W6Lci
xpWmmBuoUhshNG4ucFFwSzilgBuAAASeQsxOEU9RUTHmzoHogHX+0bS0AbbTtZt2a/+zH2UGN5jn
XfmsGycv8ODZsAc/fNr8erNENwAtYAUpCfSZv/PoKyAEfbz5/OkK2pENI7pg/NH1z/9T/OwFik+H
Ff8/weo8TBJCppgP/v8CUEsDBAoAAgAAAIgtDUHW0dp5LgAAAC4AAAA/ABwAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIvbG9hZEluUHJvZ3Jlc3MtZXhwZWN0ZWQudHh0VVQJAAMw
lChQMJQoUHV4CwABBOgDAAAE6AMAAEFMRVJUOiBUZXN0IHBhc3NlZDogW29iamVjdCBIVE1MRm9y
bUVsZW1lbnRdCgpQSwMEFAACAAgAiC0NQWyjKvK+AAAA8AAAAD0AHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9mYXN0L2xvYWRlci9sb2FkSW5Qcm9ncmVzcy13ZGlmZi5odG1sVVQJAAMwlChQP4ko
UHV4CwABBOgDAAAE6AMAAF2OMU/DMBSE9/yKkxi6NTPGRKoqF4aUSiRMiOHVfmkB17aenSFC/Hdc
dWM76e67O31mcp3OZfHcrR17/OBI9vskcQ5O4W4iesAv1uTcf4umq6XbG6zbW1WSqnOiAOsp58cK
dtvDy3DoDfZmGDZPRsF/Bsa9wluwNJ/OBeOS2IhEUdhSCLEgc0GSmFjKglUWu0KcEGbv62Kt75pN
b15HhZFzTdYprqfe4/GLbcHzuO93US7G84VD+Wga3V6f/QFQSwMEFAACAAgAiC0NQSkmd2l0AAAA
fQAAAD0AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2xvYWRlci9sb2FkSW5Qcm9ncmVz
cy1hY3R1YWwudHh0VVQJAAMwlChQMJQoUHV4CwABBOgDAAAE6AMAAA3KOw7CMBAFwD6neF3OgLso
MlA4RMKmQhTGLD85Xmu9KXJ7mHrG+eRnZzFZ74eDNcifQtgZXEqK6+utCFslK8JiMMZSWNFIUYUr
iW7om6Qe/ERZc+4GZ8/BIFD7l9gaPQyufP9SUhzD5PYsi820UNFb1/0AUEsDBBQAAgAIAIgtDUE0
XQbmxQAAABoBAAA7ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIvbG9hZElu
UHJvZ3Jlc3MtZGlmZi50eHRVVAkAAzCUKFAwlChQdXgLAAEE6AMAAAToAwAAnY+9TsMwFEZ3P8W3
dUhNVJjwlKoyP1JKEQkTYjDJ7Q9ybOv6WmrengjegOkMn3T0Ha01aplS7d0ci2ihLJopFy+5Pros
tY9uJP7Fc3jleFrWrOmaaBAab+QqUFVV/cviBinO/zmaBnqzvkW1Wd+haVS1O7x0h9Zib7tu+2gN
/CUQ7g3ew+DK6Szo50SWObLBzoUQBZkEiWMilhmrzMMK8YhQvFfYtvatN+iXb0guZxoNPuLX99KB
p37fPkSerKeJgnwqqB9QSwMECgAAAAAAUicNQQAAAAAAAAAAAAAAACEAHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9mYXN0L3hzbC9VVAkAA3uJKFCDlShQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAI
AKgtDUGBSnetSwAAAKwAAABMABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC94c2wveHNs
dC10cmFuc2Zvcm0tdG8tZnJhZ21lbnQtY3Jhc2gtc3RkZXJyLnR4dFVUCQADbJQoUHuJKFB1eAsA
AQToAwAABOgDAAC1zLENgDAMRNE+U9wKtGzjwAVZcmxkLOZHomAD6q/3t5inmpSGg5mRK4YaAVMn
FtA46YVbUqUbW3LnUNdXxMBh0cW+juJVbfvl+gBQSwMEFAACAAgAqC0NQVBdSDeMAAAA+AAAADgA
HAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3hzbC94c2x0LWRvYy1lbmMtc3RkZXJyLnR4
dFVUCQADa5QoUHqJKFB1eAsAAQToAwAABOgDAACtjsENwzAMA/+dQgu4evSXGfrsAoqjNEJlK5Bl
pN2+SbNCPwTJAwhmK6sohVgFdjcfYBblnwyIWGrgUwI3Hl8SKS9uRXpJvDW808d6PLhFw5la4Lsp
OjfrnrkdKdJIU5KymkfqLte9A5XKcANWLlwDTnrZyXBaGKBXGvcTYaBG0z/OVGs9L8cQBalevlBL
AwQUAAIACACoLQ1BUF1IN4wAAAD4AAAAPwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3Qv
eHNsL3hzbHQtYmFkLWltcG9ydC11cmktc3RkZXJyLnR4dFVUCQADa5QoUHqJKFB1eAsAAQToAwAA
BOgDAACtjsENwzAMA/+dQgu4evSXGfrsAoqjNEJlK5BlpN2+SbNCPwTJAwhmK6sohVgFdjcfYBbl
nwyIWGrgUwI3Hl8SKS9uRXpJvDW808d6PLhFw5la4LspOjfrnrkdKdJIU5KymkfqLte9A5XKcANW
LlwDTnrZyXBaGKBXGvcTYaBG0z/OVGs9L8cQBalevlBLAwQUAAIACACoLQ1BbUfUXoUAAADxAAAA
PQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QveHNsL3RyYW5zZm9ybS14aHItZG9jLXN0
ZGVyci50eHRVVAkAA2uUKFB6iShQdXgLAAEE6AMAAAToAwAArY6xDcMwDAR7T8EFFBbpNEPKLCDL
dExEEg2Sgp3t7cQrpHk8/ou7LHXlkpylAamKRpi50C8iItbm+GLHjcY3e8iLSuVeA22Gj/SR7k8y
N5yTOe5WUMmkaybDfdEwSb6dKxRuBHegQpWaA9dV1IfziVeFCL2l8QS7QJE0/VEgXAiavibDAVBL
AwQKAAAAAAD8Jg1BAAAAAAAAAAAAAAAAJAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3Qv
Y2FudmFzL1VUCQAD24goUIOVKFB1eAsAAQToAwAABOgDAABQSwMECgAAAAAAVC0NQQAAAAAAAAAA
AAAAACoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9VVAkAA9CT
KFCDlShQdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAFMtDUFdr6t/xgAAAOABAABKABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLXByZWNpc2lvbi1mb3Jt
YXQtZGlmZi50eHRVVAkAA82TKFDNkyhQdXgLAAEE6AMAAAToAwAArc+/asMwEMfxXU9xu3pRKS2d
Ag7BnRpqsF/gIp8Tg/wH3al13r6hJvUS2gxZNH1/n0OICE670QU6DUlRWRQjSwoqriFR56n/JHFf
vD8EJ0eqOeIY2bfSDj02Q+xIkaeRvXK90knBWGvvgZLXRGEmswzw5fHhGez5fYUsM1BsyhLmbXGZ
vv0sV5H6A+/aHtbr68XTkrQCGhPf4NH0r3dObvF+v/oHuDQX0c5i8p5FmhTCqaAoXC8nja3ysoLt
x654z6vcWPMNUEsDBBQAAgAIAFMtDUEfGWN5+wEAAA4MAABOABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLXByZWNpc2lvbi1mb3JtYXQtZXhwZWN0ZWQu
dHh0VVQJAAPNkyhQzZMoUHV4CwABBOgDAAAE6AMAAL2WUWviQBDH3/spBp+uUKQtReTAg3BGDSQq
mtZ7kzWOSe7WXdnd1Prtb5LW84TEy/YwLyGQmfn/9r+7M1ngauiDTtgaFewURqlOpYCNVFtmwKA2
7ZubiQCdRRFqfQcHmcE+5Rw0IjB6qhQ1yA20ps583oItRbEYKXIjOZd7XMPqAK3QnYfwfRJMfTd0
W1QzpNIaTEIqi5xhXiBMjwSDd4CIM62BiTXEaMpD9lL9onpFwfd6laEKTaYE1bskKVc/McpXna8H
Yt6uKveFvr24s9D9sZyPnL47u8uj/cliOfAnTngLqdCGiQjJnAt6KbmgMvykXOD2veegScWRNxw1
qZcb6o2btbMxvcLMK6kNZs4wcMdhY6ezTPDa57NM87ontMrWBnfxuqe00tJP6NXpyiZRcp83eUCl
pKLpYhKSeWU8XcOOKbZFg0rX7MhH0gL77MLdEoJAxQyNJHzbUZOnFxp+hepX8MYvju/1l+74OWj/
DX5hmcSY0fRjCmkQCp2uOB4xdVlCWzERY5AK+NaDh/NduZTA3monnGY4ZXTrS3wwPVlDPVlTPdzb
YnUebbHqZZxjdWyxurZUXTuoXg+srbIx92MH7xug6lhTdf6DyuZn0CR0eanH0EsqYsBXVAeIGOc1
bzIJl0Y8nkJslv6vchRi60tFvVPMH9t+A1BLAwQUAAIACABSLQ1BNA345aoAAADfAgAAUQAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLXZlcnRleC1hdHRyaWIt
emVyby1pc3N1ZXMtc3RkZXJyLnR4dFVUCQADy5MoUNyIKFB1eAsAAQToAwAABOgDAADNkjsLwjAY
RXd/xTfqUtI2D81WpIqDrQTBQaSkSdoG+pAkDv57C67udrmcux0u955gnBD+zZQmBKMY4RhTzHMh
SsHb3vikUoOutFGTNi5Sak3iON084JKLQynOWbHP4ZaJ4lQcOWQhOFu/ggEE1oO2Xta90RFcu7l2
0oO37dhYJccAT+OayQ1yVGbmUfbhvbr/UiKYMrIsJUoIQ8tSYpTuFrbSljHyvy99AFBLAwQUAAIA
CABSLQ1Bnqp8UtwAAAA4AQAARQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFz
L3dlYmdsL2luZGV4LXZhbGlkYXRpb24tc3RkZXJyLnR4dFVUCQADzJMoUN2IKFB1eAsAAQToAwAA
BOgDAACNj01Lw0AYhO/9FXPUS8lnsXsLNoZAmshS9FAkbDdv0oVkU3bfVvz3RsWbBy/DzDCHZ45R
kkSp+NF4E6VJEIXhwzbdiFzKRophJB+1eurajvTckVtrfZeGYXz/hudcPjVyn9WPOV4zWZd1IZAx
O3O6MiGA8eiMV6eRujUO5yWelYc3g+2NVpZxIdfPblJW0+KtGvljdfwTaRsHyT+QigrfI4iiasv6
JavKXdssoNmhbGoIDOPOqfd8pIksewHFTNOFwTOU1uQ95itj7uGUHQg3cmyWGsZ+TX+frT4BUEsD
BBQAAgAIAFMtDUEZS4sTtQcAAMEbAABSABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9j
YW52YXMvd2ViZ2wvc2hhZGVyLXByZWNpc2lvbi1mb3JtYXQtcHJldHR5LWRpZmYuaHRtbFVUCQAD
zZMoUN6IKFB1eAsAAQToAwAABOgDAADdWVtv2zYUfs+vEBJ0AYZKtmM7i+3Gw5YL9rBuBZL3gpIo
iw0laiTl2N3233d4kyVZsr21w4CtWG2Lt3P5zvcdqu9SmdHl2bsUoxg+hNxSvDybU5K/vPXmayKI
xLH3+5kH/0m8kX6MI8aRJCyfeznL8UIPhYzHmPshk5Jlc29UbLwYvuN4cfbnmdnObhIxyvjcuxiO
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
L1BLAwQUAAIACABRLQ1BSurxo8cAAABeBgAATgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zh
c3QvY2FudmFzL3dlYmdsL2RyYXctYXJyYXlzLW91dC1vZi1ib3VuZHMtc3RkZXJyLnR4dFVUCQAD
yZMoUNuIKFB1eAsAAQToAwAABOgDAADN0b0KwjAUBeDdp7ijLpLfNslWqEihWCniIlJiGktBraRR
8e39W32Au9zhcoaPc3ZMCCbN7/KESa610kQKahZ1XdWmO/mRNe7cNq13Q+vD3LmppJTP9rAs4RsC
syybYrXNyiJvqvWizjZFtQID3SkP9pGFYJ+jARujP18jxAGsc34cYbhFGI4Q7KXzcPch9u839JdP
NPSHW/RAJru/RJoojpzIuFLIiZKk6ImJxD50QgVBTdSUpClDTqRCcOxErbAPzYTG0+ILUEsDBBQA
AgAIAFQtDUGpGEM9igAAAJMAAABTABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52
YXMvd2ViZ2wvdW5pZm9ybS1sb2NhdGlvbi1sZW5ndGgtbGltaXRzLXN0ZGVyci50eHRVVAkAA9CT
KFDQkyhQdXgLAAEE6AMAAAToAwAAJcdBC4IwGIDhe7/iO9ZFdFPD3Yas6JDGCDpEyNw+daAztnXo
3yd0eXneJ8lzUrB/aUmKPC1TmlXVkQkpW8nGGQPp9GI6g3o16BOt90WW0cMLbkKeWnnlTS3gwWVz
ac4MeIze9p+IkIINYGxQ/Ywmgfu07aQCBDu6wWrlIrzRD6tflNO42ak5fnc/UEsDBBQAAgAIAFEt
DUHtvdA6jAAAAAEBAABEABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvZXJyb3ItcmVwb3J0aW5nLXN0ZGVyci50eHRVVAkAA8qTKFDbiChQdXgLAAEE6AMAAAToAwAA
izYyMTEytYKQxmZGpiYGBkYWhhYGBlauQUH+QVbpOanFRvHJuSnxKanJ+SmpRXrJyRqmhobGmrEK
7j4KYEUKVu4+8Z5+YY4+ni7xQDLUVcFKIT3HPbXEMbkksyzVsaSkKDPJSiEzLyW1QiG/tEQhP02h
KDEvPZUrGqv9RmZmxlS0PzQvMy2/KBerAwBQSwMEFAACAAgAUy0NQTlpxroMAgAAPQwAAEwAHAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9zaGFkZXItcHJlY2lzaW9u
LWZvcm1hdC1hY3R1YWwudHh0VVQJAAPNkyhQzZMoUHV4CwABBOgDAAAE6AMAAL2WUWviQBDH3/0U
g09XKNKWInLgQTijBhIVk9Z7kzWOSe7Wjexuav32N4kVKyRetod5kYAz8//tf3dndoGrkQsqZmuU
sJMYJipJBWxSuWUaNCrdabWmAlQWhqjUPRzSDPYJ56AQgdGvTFBBuoH2zPL9NmwpikVIkZuU83SP
a1gdoB3YfgA/p97MtQO7TTUDKq1Ax6SyyBn8AmF2IhgeAULOlAIm1hChLg/Zp/IP1SsKHutVhkrU
mRRU75pkuvqNYb7qfD0Q8U5VuW/036s9D+xfS39sDez5fR7tThfLoTu1gjtIhNJMhEjmXNFLyAWZ
4RflPHvgvHhNKo6d0bhJvdxQZ9KsnY3pFWbeSG04t0aePQkaO51lgrc+n2Watz2hVbY2uIu3PaWV
ln5Br05X1rFM93mTB5QylTRddEwyb4wna9gxybaoUaqaHflEWmBfXLg7QhAomaaRhO87avL0QcOv
UP0OzuTVcp3B0p68eJ3P4FeWSYwZTT8mkQahUMmK4wlTlSV0JBMReomAH314vNyVawnsvXbCeYZT
Rq++xAfTszHUszHV44MpVvfJFKtexiVW1xSrZ0rVM4Pq98HYKhNzP3bwoQGqrjFV9z+oTB6DOqbL
Sz2GPhIRAb6hPEDIOK95k0m4NOLpHGKy9H+VoxBTXyrqnWMuCx5f+puM88OMSUVN8mzr51d8q/UX
UEsDBBQAAgAIAAInDUHob0Z1igAAAJMAAABKABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFz
dC9jYW52YXMvd2ViZ2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVzLXN0ZGVyci50eHRVVAkAA+OIKFDj
iChQdXgLAAEE6AMAAAToAwAAJcdBC4IwGIDhe7/iO9ZF3MSpu0lYdEhjBB0iZG6fOpgztnXo3yd0
eXneJ2VVQfi/GaOUpWVJirLKeSNEJ/hkMdBeLbrXqFaNPlFqnxOSHV5wa8SpE9e6PTbwqEV7ac8c
6hi9GT4RIQUTQJsgB4s6gfu87SwDBDO50SjpIrzRj6tfpFO42Ukbv7sfUEsDBBQAAgAIAFEtDUH2
1LNkAQEAANUJAABQABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wv
ZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLXN0ZGVyci50eHRVVAkAA8qTKFDbiChQdXgLAAEE
6AMAAAToAwAAzdY7a8MwEAfwvZ/ixnYp1vuxBWKCIcTFlC6hGFuWjcG2iiy3X7+P0C1jQ2+54bjh
h7j/oTPlnAp7qUxSwYwxQhMjbV5VZWWHya+0dnNXd96FzsdH5+4FIezhFQ5H+BkCezjWxelldyz2
dfmUV7vnojyBhWHax+Yjn/zsl7RaiM0yeAhbgtBDG7alW6EPEdqt7328O1/HaKnRYAwTHA/GGIIF
IymhCg+Gc4MHoyRFg5EZnjRJyaVAg1H0NpgmJT+/JUgBGuf8uv7CLsp3H9P41YZx+R6NY7slD9l1
pNI0Q7NLSovb3J+/fTHDNXqkYYTiR0qNPiA6YwpNQDSh8j9+C59QSwMEFAACAAgAVC0NQRDHMIY9
AQAAoQwAAEkAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC90eXBl
LWNvbnZlcnNpb24tdGVzdC1zdGRlcnIudHh0VVQJAAPPkyhQ4IgoUHV4CwABBOgDAAAE6AMAAM2W
PWvDMBCG9/6KG9sl6OtkS5tpXRNInWL6MYRiHFlxBI5dbKW0/75us7aQIWAthw4E90h6H9CGCcFQ
nyqXDAXBmEUxjXRaFOtCN60dWWkOdVlb09d2WBhzjZTymzd4TIv7dfGQ5LcpvCZFvswzDYn3g9se
vQUCboTajdW2tfUCnvZTu69GGF3T7ZypOg/vdtj1w6HqjJ3WXdX6r6vNn0gxmbrQkFCEhkQJPQMp
W8HvJtDZqlzmL8lqeVdO9TkFDU2bWZ8Y7z7siVKD62r7Cf3RQ7+Doeoa+998rvCC858793Pw8wG4
QBaH9SZcyDg4pIjK4JAEmzG5XCgi50yuQEUCi4mQBFVoSJQFd0tU0dCQGOXBIfFoRr+FFDSe02/E
KArsT4WomAoOSQXmN0rCWHBIYk6ZULKzgnMJmb4BUEsDBBQAAgAIAFMtDUFlk5kfWwIAAN0MAABM
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLXByZWNp
c2lvbi1mb3JtYXQtd2RpZmYuaHRtbFVUCQADzZMoUN6IKFB1eAsAAQToAwAABOgDAAC9V+9r4kAQ
/e5fMXhwXKHEthSRNgpyRisYFU3b+yZrMvlxXRPZ3dRKuf/9JgmS9k49k8N8CSE7897bt7szWd1H
5nR0qbYcO5qDHN5hyewXT0Rx6NzBF5exe/gFGnOcP4eYmwzpjSxZb2RQa4GdZ1wORiB95qAA+mAH
MohCcCOxYgoUSqXVapMQZGzbKOUlbKMYNgHnIBGB0VMEKCFyoT7tzud1WFEU85Ai3YjzaIMOLLdQ
t4y5Bd8n5nRkWEadMC2ClqB8Ykk1zFMJ052CfibA5kxKYKEDHqr9IZtIvBBeCpjhHQwVqGIREt4x
ymj5E+1k1sl8wOPaIbhvNPZkzCzjx2L+0O0Zs8skejR5XvRHk651AUEoFQttJHOO8AXkgoixJJ1p
9IaPZpWMD8PBQ5V8iaHDcbV2VsaXmnkmtv6sOzCNsVXZ7txHeO79uY/zvDv0kK0VruJ5d+lBS0vw
nVKVlS+iTVLkAYWIBHUX5RPNK+OBA2sm2AoVCnliRd4pTWV/OnAXJCFEwRS1JHxbU5GnF2p+Kesd
DMdP3dGwtzDGj6b2UfiRaZLGmLofE0iNMJTBkuNOptyXoAkWemgGIXz11H0brj8vzLEc9lYkJ+/k
WVLrdKJc3G0Zdbdl5F1fldDXvCmh77Skv/Q1S+hrlZDXKqau3YYyzhWxO1/Zq2q0Nctoa/6HtiJ/
jsqnk04FiV6C0AN8RbEFm3F+4rEn4r0RN3lIkdn/C45CivpyAC+P2QHqck0lO/1Bb9OVo5MRZNcE
N+Z8O2VCUoXNbf54BaC7CKV3ajW9kVxDfgNQSwMEFAACAAgAUi0NQUEz+YmpAAAAlAIAAFQAHAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9u
LWNvcGllcy1pbmRpY2VzLXN0ZGVyci50eHRVVAkAA8uTKFDdiChQdXgLAAEE6AMAAAToAwAAzc7N
CoJAFAXgfU9xl7UJnZ+y2QmKCKIh0SZisPEmgjoxXuv1y9r2AMLhLA5n8V2YEEyqX/Mdk8LzD3yO
isuyKFXT4ci06Wtdo7E1uq0xa+n7fHOFJIPvCVSS6TQ/h1ka6eIYl+EpLXJQ0HSRq15xhz0ONCqo
iLB/EJCFyhgcR7ATgb2Dq4YG4YmO2s8M7TBfXXubCMFbXf4imQy8xSP5PpCLRwqfLQn5BlBLAwQU
AAIACABSLQ1BLkY9b58AAABKAQAAXwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2Fu
dmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tdmVyaWZpZXMtdG9vLW1hbnktaW5kaWNlcy1zdGRl
cnIudHh0VVQJAAPMkyhQ3YgoUHV4CwABBOgDAAAE6AMAAM2OuwqDMBRA937FHdulxGikzSYoIoiW
ULpICTbeiqCmJNf29/ta+wFdznA4w2l4FHEhvwxjLiLGGRNiv5OZUrWS/YieazN1ukNjO3RbY9Yi
CMLNGfISPhHIvNRFdUrKItX1IVPJsagrkNCPqWsf2YgTzuQltEQ43QjIQmsMeg92IbBXcO3cI9zR
0fDSMMzv1A2XhRDYqvk5GQc7/keTT1BLAwQUAAIACABRLQ1BhvSwz5oAAAACAgAARAAcAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2dldC1hY3RpdmUtdGVzdC1zdGRl
cnIudHh0VVQJAAPKkyhQ24goUHV4CwABBOgDAAAE6AMAAIs2MjExMrWCkMZmRqYmBgYmQGBuYuUa
FOQfZJWek1psFJ+cmxKfkpqcn5JapJecrGFqaGisGavg7qMAVqRg5e4T7+kX5ujj6RIPJENdFawU
0nPcU0sck0syy1JD8zLT8otyrRQy81JSKxTyS0sU8tMUihLz0lO5orE6wNTQxHBAHWBpaWlGRQc4
lpQUZSYRb7+poYGhJX3sBwBQSwMEFAACAAgAUS0NQcRDwxGVAAAAJgEAAFEAHAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi10
ZXN0LXN0ZGVyci50eHRVVAkAA8qTKFDbiChQdXgLAAEE6AMAAAToAwAAxY6xCsIwFAB3v+KNupQm
TaxmC1LFwVaC4FCkpEnaBtpUkjj49xZc3V2Ou+1qTAim7MtsiylJU7LPdgixQohKsH40ATdq0o02
atbGJ0qtKULZ5gHXQhwrceHloYA7F+W5PDHgMXrbvqKBFGwAbYNsR6MTuA1LDjJAsL3rrJIuwtP4
bvaTdMos7uQY36v651JOUf63pQ9QSwMEFAACAAgAUi0NQS2R/zrOAAAAqAEAAEoAHAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbnZhbGlkLXBhc3NlZC1wYXJhbXMt
c3RkZXJyLnR4dFVUCQADzJMoUN2IKFB1eAsAAQToAwAABOgDAADNkD1rwzAURff8ije2S4hlOR/a
3NY1BtcJImkHU8zLk2ILFLlIaiH/PqZZO2TscrgX7nC4LeOcZeLGdMkyvmCMr9bpShRSbqXorQ6s
o7PqlKZRaT8nesiSJH38hF0hX7fyLW+eC/jIZVM1pYA8Rm+O31HDAkwAZQIerVZz2A9THTBAML07
GUIX4Uv70+jP6EhP2aGNl1n7t9Jms/xfSlnC2T0vlTX8jkCUdVc173ldvXQTDwUI6O2TceomWI+E
0YxOQOV+0BoFNKBHitrPrlBLAwQUAAIACABSLQ1B/pOn3FoAAABhAAAASgAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL251bGwtb2JqZWN0LWJlaGF2aW91ci1zdGRl
cnIudHh0VVQJAAPMkyhQ3YgoUHV4CwABBOgDAAAE6AMAAIs2MjExMrWCkMZmRqYmBkbG5iYW5sZW
rkFB/kFW6TmpxUbxybkp8SmpyfkpqUV6yckapoaGxpqxCu4+CmBFClbuPvGefmGOPp4u8f4BrkGO
IZ7+fgpWQMgFAFBLAwQKAAAAAAAWJw1BAAAAAAAAAAAAAAAAKAAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Zhc3QvZmlsZXN5c3RlbS9VVAkAAwyJKFCDlShQdXgLAAEE6AMAAAToAwAAUEsDBBQA
AgAIAGwtDUGlAMIpZwAAAHEAAAA6ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9maWxl
c3lzdGVtL29wLWNvcHktc3RkZXJyLnR4dFVUCQAD/JMoUAuJKFB1eAsAAQToAwAABOgDAACLNjIx
MTK1gpDGZkamJqYGhiaG5hamVq5BQf5BVmmZOanxxZXFJam58SmZRanJJflFlfEpiSWJSYnFqXrJ
yRoWpqaasQrOiXnqJQpFqbn5ZakKiQpwpQrlmSUZCskZmTkpRal5elwAUEsDBBQAAgAIAGwtDUHg
+DWkZwAAAHEAAAA6ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9maWxlc3lzdGVtL29w
LW1vdmUtc3RkZXJyLnR4dFVUCQAD/JMoUAyJKFB1eAsAAQToAwAABOgDAACLNjIxMTK1gpDGZkam
JqYGxpYWJkbGVq5BQf5BVmmZOanxxZXFJam58SmZRanJJflFlfEpiSWJSYnFqXrJyRoWpqaasQrO
iXnqJQpFqbn5ZakKiQpwpQrlmSUZCskZmTkpRal5elwAUEsDBBQAAgAIAGwtDUE0JRAJZwAAAHEA
AAA8ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9maWxlc3lzdGVtL29wLXJlbW92ZS1z
dGRlcnIudHh0VVQJAAP8kyhQDIkoUHV4CwABBOgDAAAE6AMAAIs2MjExMrWCkMZmRqYmpgamBmaG
JsZWrkFB/kFWaZk5qfHFlcUlqbnxKZlFqckl+UWV8SmJJYlJicWpesnJGhamppqxCs6JeeolCkWp
ufllqQqJCnClCuWZJRkKyRmZOSlFqXl6XABQSwMEFAACAAgANC4NQWLd5BpsSQEAG6sPACYAHAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9hY2Nlc3NfbG9nLnR4dFVUCQADdJUoUCaIKFB1eAsAAQTo
AwAABOgDAADsXW2P2ziS/n6/Ilig8+WOaZHU6wCNYCaT2Q2wuxNc+g4HHA6BLNG2ElnUSHJ3e3/9
kZLcbVukTIuU7M54AvS41YaeeiNZrCoWIfLeWewffAPYv/+F+Pbn9eIWWRD9ZNk/Oegnx3vz7xb7
7//e/OWvH+/f3IZ5HoXRktyGM1pUoP4MaBbTxyylYZxkC7AKs2ROygrYlv1uWa3SN3+7v/98C9/B
v7xBlvUGYiv4NzgYuCAlXRcRKVVJ2P6yQwZ7/MaGlgYVYcQoKMFDEoKCxElBoupdvsx3MLDlvQFm
+BRgieQKXTwankCINaYzJSJmatMRaVSE5RI8LkkGsvAhWYQVN5bwMdyAij+chdF3kWQ9zzbC5lB8
e0p8iaYd76wk6Kr+/BREzLJJViVhCtZFKjQzFxnhkKzyajPyiJViaItpUyRpmkRMSIlISAhjQ4Nh
F0giLGybsfokqwj7kFe39V9icPOrdRP8dvMrvPEt/vmXj/VPVP90dp7/XP+0DujyHeMiAHNarEQC
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
tvdWaO+u0N5fob3DQnuPhfYuC+19Fto7LbT3WmTvtcghY/Zei+y9Ftl7LbL3WmTvtcjea5G91yJ7
r8X2XovtvRY7pqa912J7r8X2XovtvRbbey2291ps77WlvdeW9l5b2ntt6VjR7L22tPfa0t5rS3uv
Le29trT32sreayt7r63svbay99rKsRHYe21l77WVvddW9l5b2Xttbe+1tb3X1vZeW9t7bW3vtbVj
/7T32trea2t7r63tvbax99rG3msbe69t7L22sffaxt5rG4faYe+1jb3XNvZe29p7bWvvta2917b2
Xtvae21r77Wtvde2Dm3Noa7Zu2XnUMgWDn1u4aJ3aHQLh0q3cOh0C4dSt3BodQuHWrdw6HULhzrs
1Icd/efSiF0qsUsndinFLq3YpRa79GKHYhw6NOMwch0oHP3nUI5Dh3YcOtTj0KEfhw4FOXSowKFD
Bw4dSnAYu05cjv5x6MFw4D7c0UfzwrLjqUxZfhy4wRlprsU+zZiMezVKDkkmimcQUUjUTafj9D9G
R17o2Au99EKvvNBrL/TGC731Qu8oaDSGX28Yfgx8yyDLwmH0VM1JrLnMdtJIb1UwQA8dW12UVuhb
UkJYu8ohbC0sosFiGmxJg61osL4k9TMiPoGzBMSmwCeBiQg+i/7p4xwLA6peCrRLUabfIa5MFuxr
Ar7NcpWVPuiBWXKEhkB5HdvhLfwQKq5Je04KxdiircFn7JVlInWeuUMg6113H6zCxGAsCmAyWN6I
lFaK/i/enzMRm4nwKV2ZHNMGUyvfbpjtgjCUglKkEnyAwDL8SGAZmHfpvEaU1A5Pqu0Uba7qEddF
vvE1tbW7WX7OUniPWAc26VSwrCTByswKQ7/eavicYgiAYedrunTwgxju+GAE+oAdLXPDRCgCpc6h
bB30Jwk5vciJdG0E1puMsI5X8yKSVknkgfduvhyKBGMTyzDuXHKKxjh8A+FWLu9H7f32gE42rrcA
yZuY4RY8oPmW3JKcVcwleS1Oip648BEBgMdXrFZCE04FG7iIVLfCd+6QscTYqWKng7ydWXKrmB1m
lEsQIIjOjE7f6PeRwS3mNFrAgOrGygN4wEAIy2TsbjZEdmktfx9lSBjgJmke0Xm8/Yyx/mVR1DB4
uHWaQFx0TqqjMM7YKLHGACxyZKoZZkfJCgpf5eCvJi2NbEd5NI2ZOPVECtj5KDhJeKfQ505vyTdT
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
F/nlBihlBdk/i7Ab92yufV1Qq1COFsEDI5TJ8F7JLiDUi3Sr7mxR9e92q9Fstf9o3P7WeKgcanEV
vsl4FOlSuewwPON1sdTZeLF0XNgiYBflE99znxcIKLb3HhStHc/pZ8t3jHvstkTGSkZNOo55DOA2
tI5MQm9ePRDnpja676Hp6B8tlyeYKKL56fdW4+HLT5buJXGMlu3Jl3BGQv3m4jqX8MJV+Gh9Am+6
sZpwk9A57jj0SZafkoSb1vG7YECe9W/PD/G05ufsTHPi41L5eQtvIzy3VLWrdsWxfvjzKQnj5Eer
L7221kF+/FskQhBfKtt1+/oZxzKlmn1hV1klMV9w7MqVhRUnrWbSk3AX2D2P3d54IxmDW6ITrCEI
7VfwMLRkJJRxez2nqc6GMP8HUEsDBAoAAAAAAEUnDUEAAAAAAAAAAAAAAAAhABwAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vVVQJAANhiShQg5UoUHV4CwABBOgDAAAE6AMAAFBLAwQK
AAAAAAATKA1BAAAAAAAAAAAAAAAAKgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3Jt
L2Nocm9taXVtL1VUCQAD9okoUIOVKFB1eAsAAQToAwAABOgDAABQSwMECgAAAAAAEygNQQAAAAAA
AAAAAAAAADIAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0
dWFsL1VUCQAD9okoUIOVKFB1eAsAAQToAwAABOgDAABQSwMECgAAAAAAEygNQQAAAAAAAAAAAAAA
ADYAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dw
dS9VVAkAA/aJKFCDlShQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAABMoDUEAAAAAAAAAAAAAAAA7
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUv
ZmFzdC9VVAkAA/aJKFCDlShQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAABMoDUEAAAAAAAAAAAAA
AABCABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9n
cHUvZmFzdC9jYW52YXMvVVQJAAP2iShQg5UoUHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAADsLQ1B
AAAAAAAAAAAAAAAASAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVt
L3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL1VUCQAD7JQoUIOVKFB1eAsAAQToAwAABOgD
AABQSwMEFAACAAgA7C0NQS2aaSvYAAAAHAIAAGgAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9zaGFkZXItcHJl
Y2lzaW9uLWZvcm1hdC1kaWZmLnR4dFVUCQAD7JQoUOyUKFB1eAsAAQToAwAABOgDAAC1j7FOwzAQ
hnc/hXfjHkIgpkpBKExUREpe4HAuqSUnsXznkr49LVHJgqALy03f9/06a60GGSIEPE5ZrBCLTcQ5
CEMMKN2UBnD7NA0+D3DwSTIG6GOGDlnA4XhAhg967wPwHltKNiZynv002rOMYmmO5ITajcyilTHm
/yfRnaVlsCi0fbi9udfmdB91UShdPdW1Xtzqor58mZuEY087P+rt9mfibkU8a0mZrujh/GfvhFzT
+371l+DKXIpmKWbniLnLIRwrTEztOqlMU9aNfn7bVa9lUyqjPgFQSwMEFAACAAgA7C0NQR8ZY3n7
AQAADgwAAGwAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0
dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9zaGFkZXItcHJlY2lzaW9uLWZvcm1hdC1leHBlY3Rl
ZC50eHRVVAkAA+yUKFDslChQdXgLAAEE6AMAAAToAwAAvZZRa+JAEMff+ykGn65QpC1F5MCDcEYN
JCqa1nuTNY5J7tZd2d3U+u1vktbzhMTL9jAvIZCZ+f/2v7szWeBq6INO2BoV7BRGqU6lgI1UW2bA
oDbtm5uJAJ1FEWp9BweZwT7lHDQiMHqqFDXIDbSmznzegi1FsRgpciM5l3tcw+oArdCdh/B9Ekx9
N3RbVDOk0hpMQiqLnGFeIEyPBIN3gIgzrYGJNcRoykP2Uv2iekXB93qVoQpNpgTVuyQpVz8xyled
rwdi3q4q94W+vbiz0P2xnI+cvju7y6P9yWI58CdOeAup0IaJCMmcC3opuaAy/KRc4Pa956BJxZE3
HDWplxvqjZu1szG9wswrqQ1mzjBwx2Fjp7NM8Nrns0zzuie0ytYGd/G6p7TS0k/o1enKJlFynzd5
QKWkouliEpJ5ZTxdw44ptkWDStfsyEfSAvvswt0SgkDFDI0kfNtRk6cXGn6F6lfwxi+O7/WX7vg5
aP8NfmGZxJjR9GMKaRAKna44HjF1WUJbMRFjkAr41oOH8125lMDeaiecZjhldOtLfDA9WUM9WVM9
3NtidR5tseplnGN1bLG6tlRdO6heD6ytsjH3YwfvG6DqWFN1/oPK5mfQJHR5qcfQSypiwFdUB4gY
5zVvMgmXRjyeQmyW/q9yFGLrS0W9U8wf234DUEsDBBQAAgAIAOstDUFL7jNDqQAAAN8CAABvABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFz
dC9jYW52YXMvd2ViZ2wvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1zdGRlcnIudHh0VVQJ
AAPqlChQ94koUHV4CwABBOgDAAAE6AMAAM2Quw6CMBhGd5/iH3Uh9AaFjRg0DoJpTByMIaUt0ISL
oXXw7SVxdZfly/m2k3PHHFGcfpdEmEWc4zBBUZTmQpQibXvjcKUGXWmjJm3mQKktQ4jsHnDJxaEU
56zY53DLRHEqjilk3s+2fnkDIVgH2jpZ90YHcO2W20kHzrZjY5UcPTzN3EzzIEdlFh5l79+b+y8l
TDEJ16VEGOFsXUo0pvHKKrEkof+r9AFQSwMEFAACAAgA7C0NQTqkK8ncAAAAOAEAAGMAHAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2Nh
bnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXN0ZGVyci50eHRVVAkAA+uUKFD4iShQdXgLAAEE
6AMAAAToAwAAjY9BT4NAFITv/RVztJdGQJDujVhKSBDMptFDY8h2edBNYGl2XzX+e1HjzYOXycxk
Dt8cwzS4C8WPRkkYJ+k2SJI43YpcykaKYSQftnrq2o703JHbaH0TB0G0fsVTLveNfMzqhxwvmazL
uhDImJ05XZlwC+PRGa9OI3UbHM5LPCsPbwbbG60s40Kun92krKbFWzXyx+r4J9J9kEb/QCoqfI8g
iqot6+esKndts4Bmh7KpITCMO6fe85EmsuwFFDNNFwbPUFqT95ivjLmHU3YgvJFjs9Qw9mv6+2z1
CVBLAwQUAAIACADsLQ1BdTYwi80HAADfGwAAcAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Bs
YXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1wcmVj
aXNpb24tZm9ybWF0LXByZXR0eS1kaWZmLmh0bWxVVAkAA+yUKFD6iShQdXgLAAEE6AMAAAToAwAA
3Vlbb+M2Fn7PrxASzAYoRpId29nYnnjR5oJ96LQDJO8DSqIsTihRS1KOPd3973t4kyVZsr3bFgts
Bx1L5CF5Lt/5zqHmUyZzurr4lGGUwI+QO4pXFwtKireP3mJDBJE48X678OA/ibfST3DMOJKEFQuv
YAVe6qmI8QRzP2JSsnzhjcutl8AzTpYX/7ow29lNYkYZX3hXo8lczwXPhOJHkqZ2PkLx25qzqkh8
J5reqT/Ng8wJglGSeFdJkpi5lBXST1FO6G7h5axgokSxVTBHfE1A5THOvZEZKhkYp+3gmIJFG6wV
ysYdTSeTSc/+AhXCF5iTtDEpyHesz2ge6lOcyoU3CmZuPCGipAg2kSii2I8xpWbinSQygw1Gow9W
R5QkpFjXq41+NjzqqR0hqzIpMlBM1uIZ22DesWo2my2HHI6xcUWg4vIznCXs4pQyBKZwss5kO3pK
6gFcgEhRH8XA/USCmaMTZlsrfb1vy1PvGVjn6zgquL1zVO41e8Gxit8gcPTiNmy6kLG4dX4HUI3K
rTnhaVtCiGF/MA1/9AL107VwUD1BEhzt1N+eVvUnyuK3L4jLAExdpIQL6ccZocmgY9VxL7D+47HN
OM4htB9PnGfPcO4nBcAH+5ESacFu5lAHaJEkRtRHlKwhPyTrMYtjhfa/oyKh2LnD7qNcqN4zbAK6
x3NccaFCo9TuZiGKIDqVixicWQPHJJBW75gWLZwfwmHN8W7ZAWYwOxUv42IvkOykm4OUs7zjbMuR
6gzl9V+qPMIc0ISb6DKjTvFDKrWonc9bJOjSpY8KXSZPp9NO7h1Gv+YYtdHMpIBJg5r0LQ4sPPsg
YtRtwWliCathuDaxl3BMoRh0yzGSUhpa3zkisYBxNrTStOTYN4mqp8CV+hVM4Bi9+WrA7EtytMat
oCy8m9rXEUXKgUowBlYAHSCq9snrmrwPyN10Pki7KU73ua8QBTvW1bGRyD1LkzRpL4U4i2HxOZ4v
j5X0eidLME09bEIMV+skOdjASzAdXoHnJ7UJf/BeqrJkXEKh5RbE4NQ8x4UU3g8hnIcqmTHjb1OM
VS8DgJcA0dhFSi/QMgPlv5ZRyiCAhBZ2THbrMK2YBlH64DTolb4xZSxHW79V2fuOAR8f3bNO4Dpz
D7bsrg9YiU119N9x9EakL7nKLmO1UdILbsSyofLUGnglJJKV+KmKoFTXZS9QmdKrDiyJWLLTc7bt
cQw2dSX1SjJGI8TbGzjdIqazdT+es+9usKaoiUlp21GpR9czqOfh5nCIP442dXuEpGRrGcrZEKAi
BrTZzsuZOmrbGSDdoJhEPCzx7wTYgnfAaI/yvO8+KRK8BRo7YvG+SjZU6DPX0lWr9t1ZniuUmjal
e+sWnAeBOKno7V7RsSn4rkKZN62sfa7Lm32tFa7bttbRJOUoNxp2euR2j9HIrIcBLj70zQ4aUfZu
GwFMoauEsJ5RtW7nz3vUWbgPTGpHtOfqHjM57J3bnbPdw7jvENqD/ULimNgc86OjEncXGjVnX10V
7Vxabv/qKO9QzSO507gOiRyZRr/JygXjMLwc4CZrv+rPRN/hyGadSfdRr8gCpS67dFkuwJxL75/e
5fKiLseNIt5dTRG06Cz15a7EvVtdmnUZppoR6yYTqSZzoABd5VgI11UMuqjPow1gv2hmPqfOQU2B
bmdDWCUe6hFoUr/j4qFRCfuKuOsnujWlWU0gMf2Uqswf60Bawm6OWTBZHpi4u9VZWtnoQiODpYJ1
qxDY3m6gs2sW2KiCxCia1OGKeEI2i5TF1peskirlmxkU0UrXCDsFcEhBFyhNY2dIs0rqXaBRec2w
OSm0JXYN+isbJPMkzEVG2iJJeBuCFK3KzxYboGzE2TsEHlqADMFa2/kQGahOp7ZjOrNdet1v2HeX
4KpbVf+P2uXRfbbp9vA5SeAWZSMkcJWwr+Z69RVvQNOvDRLes+6HVivyoV03m1c6TV/+eGxZWiFA
uNt7T9WBbo4JtIHggotxp/Y09z0oh/44mJjGa//1xDUOPUG+enx8bFDC1d3z4/PsuZfDoEXtT5en
p6c+rRc4L+WujS7bDHUkA3gETS3F2E3nd6M7y20xxYh/1S2Eu1CoEX3vypTIp9B+uvskYk5KAA2P
7y8zKUuxCEP0DW2DNWNrWFQSoXJDj4WURCL89o8K8104DqbBjX0JclIE38TlCvbV+6289s4xS7Cv
YojfQe5vACUVzPvppLEElLKfFVVrCD+QcKA3EuL+2t0nrtW3x/EqlHkZAgLATb7EwLwAvIpKEQIs
JHT8eRhncLkmVR5uCJcVouG6rMIUSDqMUbFBIgRSWtNQZEhVQ6CCWMPLV4sR3GBjtSiQUORAq3Fb
mcbHpOvDGX3JHxpXl38PDoVOsCOirj9e66OREgCqKpyE/lywbzOuV7MR+A4EVi0xoI0zhKB8X6++
/Pjy4hkXfHEeeNYOCKC6rvFnUnj39/0SN3sRAsTDK2zPgTCCWb/fuPE5xo1/h3Foe9I4EPlzjLs5
x7ib/8q4GstHrNvLDJinf5pGNhjlemWnD11xHv6BZk+C3wkddeNfikiUy3NcOTnlyiqOoZ6mFaU7
0FFAR/+/8MwfxgyTc5wyHXbK/zseZsOmvz69vHoPv37+8vPT69N/lPZ/sI63f054Oj+61kKN0/+u
929QSwMEFAACAAgA6y0NQVegQzPGAAAAXgYAAGwAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWFycmF5
cy1vdXQtb2YtYm91bmRzLXN0ZGVyci50eHRVVAkAA+mUKFD2iShQdXgLAAEE6AMAAAToAwAAzdC7
CsIwGAXg3af4R10kF3NptoIihWKliItIiWkshdZKGhXf3tvqA/zLGQ5n+DgHpumCmV9yyYTUisiE
aWVWZVmUpun8yCrX11Xt3VD7MHduKijlsyOsc/iOwKzzKtvs0zxbVsV2Vaa7rNiAgaZbBvtIQ7DP
0YCN0ffXCHEA65wfRxhuEYYzBHtpPNx9iO27hvbymYb2dIseyOTwj6gI4eiJShHkRKZlgpzIGZXY
iYJz3EQtlMBOlFwtsBN1QpETFdd4XnwBUEsDBBQAAgAIAOstDUHWVUm7iwAAAAEBAABiABwAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9j
YW52YXMvd2ViZ2wvZXJyb3ItcmVwb3J0aW5nLXN0ZGVyci50eHRVVAkAA+mUKFD2iShQdXgLAAEE
6AMAAAToAwAAizayMDQxsoKQxmZGpmYW5iYG5obmJlauQUH+QVbpOanFRvHJuSnxKanJ+SmpRXrJ
yRqmhobGmrEK7j4KYEUKVu4+8Z5+YY4+ni7xQDLUVcFKIT3HPbXEMbkksyzVsaSkKDPJSiEzLyW1
QiG/tEQhP02hKDEvPZUrGqv9FkCaivaH5mWm5RflYnUAAFBLAwQUAAIACADsLQ1BOWnGugwCAAA9
DAAAagAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwv
Z3B1L2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1wcmVjaXNpb24tZm9ybWF0LWFjdHVhbC50eHRV
VAkAA+yUKFDslChQdXgLAAEE6AMAAAToAwAAvZZRa+JAEMff/RSDT1co0pYicuBBOKMGEhWT1nuT
NY5J7taN7G5q/fY3iRUrJF62h3mRgDPz/+1/d2d2gauRCypma5SwkxgmKkkFbFK5ZRo0Kt1ptaYC
VBaGqNQ9HNIM9gnnoBCB0a9MUEG6gfbM8v02bCmKRUiRm5TzdI9rWB2gHdh+AD+n3sy1A7tNNQMq
rUDHpLLIGfwCYXYiGB4BQs6UAibWEKEuD9mn8g/VKwoe61WGStSZFFTvmmS6+o1hvup8PRDxTlW5
b/Tfqz0P7F9Lf2wN7Pl9Hu1OF8uhO7WCO0iE0kyESOZc0UvIBZnhF+U8e+C8eE0qjp3RuEm93FBn
0qydjekVZt5IbTi3Rp49CRo7nWWCtz6fZZq3PaFVtja4i7c9pZWWfkGvTlfWsUz3eZMHlDKVNF10
TDJvjCdr2DHJtqhRqpod+URaYF9cuDtCECiZppGE7ztq8vRBw69Q/Q7O5NVyncHSnrx4nc/gV5ZJ
jBlNPyaRBqFQyYrjCVOVJXQkExF6iYAffXi83JVrCey9dsJ5hlNGr77EB9OzMdSzMdXjgylW98kU
q17GJVbXFKtnStUzg+r3wdgqE3M/dvChAaquMVX3P6hMHoM6pstLPYY+EhEBvqE8QMg4r3mTSbg0
4ukcYrL0f5WjEFNfKuqdYy4LHl/6m4zzw4xJRU3ybOvnV3yr9RdQSwMEFAACAAgA7C0NQRxfKlrO
AAAAqAEAAGgAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0
dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9wcmVtdWx0aXBseWFscGhhLXRlc3Qtc3RkZXJyLnR4
dFVUCQAD7JQoUOyUKFB1eAsAAQToAwAABOgDAADNzjFPwzAUBOC9v+KNdKlqtzGJt1BCFCmkyKIw
VCh6fXYTS66DbIPEvyeiKwMjy+lOuuE78pxtubzmRvBM5IW4LQqWyUqpvZKDM5H3dNG9NjRpE1ZE
Nxljm+UbPFXqYa8ey25XwWupuqarJZQpBXv6SAbWYCNoG/HkjF7B8zjPESNEO/izJfQJ3k04T+GC
nszcPbr0tTj+RsrXWyb+GUlk/C+kuoWfE8i67ZvupWyb+37OQwUSBndnvb4C24kw2clLaPwnOquB
RgxIyYTFN1BLAwQUAAIACADvLQ1BOu0lfIoAAACTAAAAaAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3dlYmds
LWNvbXBvc2l0ZS1tb2Rlcy1zdGRlcnIudHh0VVQJAAPxlChQ/okoUHV4CwABBOgDAAAE6AMAACXH
QQuCMBiA4Xu/4jvWReZsYruNsOjQjBF0iJC5fepAZ2zr0L9P6PLyvE9a5XvK/y1KysoDI4SWpOK1
Uo3iw4SRtma2rUWzWAyZMVuW58XuBbdanRp1FfJYw0MoeZFnDiKl4LpPQiDgIlgXdTehzeA+rjvq
CNENvndG+wRvDP0SZu0NrvZ6St/ND1BLAwQUAAIACADrLQ1BXi5lRwABAADVCQAAbgAcAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2Fu
dmFzL3dlYmdsL2RyYXctZWxlbWVudHMtb3V0LW9mLWJvdW5kcy1zdGRlcnIudHh0VVQJAAPplChQ
9okoUHV4CwABBOgDAAAE6AMAANXWPWvDMBCA4b2/4sZmKfo6y9YWiAmGEBdTuoRibFk2Btsqstz+
/X6EbllLr4sGccPDiwR3ESlXwlxPmQhMUs2lYFKZvKrKygyTW0Vt567unPWdCw/W3iPncvcCxxN8
D4E5nuri/Lw/FYe6fMyr/VNRnsHAMB1C855PbnZLXA2EZhkc+C2C76H129Kt0PsA7db3LtxdbmMy
lpDBSGSaDEYJTadMghmdN6NZhnQwmNIpk3HN6GA0J1NGMS34b2CaGN38GiF6aKx16/oDuyrfXIjj
5zWMy9doGNstOmC3kSikklSKocgyQb6YRE4fqRj+AySmmjwSpRRkPkjC/2SP+gBQSwMEFAACAAgA
7i0NQV0YVPhAAQAAoQwAAGcAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJv
bWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC90eXBlLWNvbnZlcnNpb24tdGVzdC1z
dGRlcnIudHh0VVQJAAPvlChQ/IkoUHV4CwABBOgDAAAE6AMAAM2WTUvEMBCG7/6KOeplyXfa3IrW
srB2pbh6WKR007Qb6KbSZkX/vdW9KuxBbS6TBALvk8m8w2xJhBlRp0gF4SImMY0YFSotinWh2s6M
pNSHuqyN7mszLLS+5BjTq2e4T4vbdXGX5NcpPCVFvswzBYn3g90dvQEEdoTajtWuM/UCHvbTcV+N
MNrWNVZXzsOLGZp+OFROm2nvqs6/X2y/R4qoDA0pljgwpBgjcgZStoKvS6CyVbnMH5PV8qac4iYF
BW2XGZ9ob1/NiVKBdbV5g/7ooW9gqFxrftJnQv6i/sbZz4efDzDJYxLWnzCJMA8NCTMaGtK0zli5
TPKzUvJnlctjEVo3EQijKDQkikRoSCyKQ0MSobUcgSTFM/pbYERn9bdEHAc2wEgUMRQY0jS/BIeE
w8sS4XxGM0nMhfgnM30AUEsDBBQAAgAIABQoDUFweelmzgAAAKgBAABoABwAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2Vi
Z2wvbnVsbC11bmlmb3JtLWxvY2F0aW9uLXN0ZGVyci50eHRVVAkAA/iJKFD4iShQdXgLAAEE6AMA
AAToAwAAzc4xa8MwFATgPb/ijckSbKdWFG1u6hqD6xTRtEMo5uVJsQWKXCQ1kH9f03bs0DHLcQc3
fIdVwtlG/CbLMs7Zmud3LBGllDspeqtD1tFZdUrTqLRfEs3zNF0t3uG5lI87+VS02xLeCtnWbSWg
iNGb42fUkIAJoEzAo9VqCS/DNAcMEEzvTobQRfjQ/jT6MzrSU3do43V2+Ju05uy2SJuM5+k/SFUD
3ycQVdPV7WvR1A/dlPsSBPT23jj1A2xGwmhGJ6B2F7RGAQ3okaL2sy9QSwMEFAACAAgA7C0NQWWT
mR9bAgAA3QwAAGoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92
aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9zaGFkZXItcHJlY2lzaW9uLWZvcm1hdC13ZGlm
Zi5odG1sVVQJAAPslChQ+YkoUHV4CwABBOgDAAAE6AMAAL1X72viQBD97l8xeHBcocS2FJE2CnJG
KxgVTdv7Jmsy+XFdE9nd1Eq5//0mCZL2Tj2Tw3wJITvz3tu3uzNZ3UfmdHSpthw7moMc3mHJ7BdP
RHHo3MEXl7F7+AUac5w/h5ibDOmNLFlvZFBrgZ1nXA5GIH3moAD6YAcyiEJwI7FiChRKpdVqkxBk
bNso5SVsoxg2AecgEYHRUwQoIXKhPu3O53VYURTzkCLdiPNogw4st1C3jLkF3yfmdGRYRp0wLYKW
oHxiSTXMUwnTnYJ+JsDmTEpgoQMeqv0hm0i8EF4KmOEdDBWoYhES3jHKaPkT7WTWyXzA49ohuG80
9mTMLOPHYv7Q7RmzyyR6NHle9EeTrnUBQSgVC20kc47wBeSCiLEknWn0ho9mlYwPw8FDlXyJocNx
tXZWxpeaeSa2/qw7MI2xVdnu3Ed47v25j/O8O/SQrRWu4nl36UFLS/CdUpWVL6JNUuQBhYgEdRfl
E80r44EDaybYChUKeWJF3ilNZX86cBckIUTBFLUkfFtTkacXan4p6x0Mx0/d0bC3MMaPpvZR+JFp
ksaYuh8TSI0wlMGS406m3JegCRZ6aAYhfPXUfRuuPy/MsRz2ViQn7+RZUut0olzcbRl1t2XkXV+V
0Ne8KaHvtKS/9DVL6GuVkNcqpq7dhjLOFbE7X9mrarQ1y2hr/oe2In+OyqeTTgWJXoLQA3xFsQWb
cX7isSfivRE3eUiR2f8LjkKK+nIAL4/ZAepyTSU7/UFv05WjkxFk1wQ35nw7ZUJShc1t/ngFoLsI
pXdqNb2RXEN+A1BLAwQUAAIACADsLQ1Bc3rkHqsAAACUAgAAcgAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2lu
ZGV4LXZhbGlkYXRpb24tY29waWVzLWluZGljZXMtc3RkZXJyLnR4dFVUCQAD65QoUPiJKFB1eAsA
AQToAwAABOgDAADNkbsKgzAYRvc+xT+2S8lFU80mKCKIFildpEga/4qgpsTYvn5vax/A5RsOZzjw
1SygHpO/5YL5IggJ9XzGZVJVZSW7AWfW6LFtWtSmRbvXeutTyncXSHP4SiDTvMmKc5RncVMekyo6
ZWUBErohtuqZDDji5GYJyjkc7w6cAaU1zjOYxYG5gVVTh/BA6/o3hn76qLa/Lg6BbOq/kT4Pg9VH
CsHJ6iMPJFzT3S9QSwMEFAACAAgA7C0NQc82TQqgAAAASgEAAH0AHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9p
bmRleC12YWxpZGF0aW9uLXZlcmlmaWVzLXRvby1tYW55LWluZGljZXMtc3RkZXJyLnR4dFVUCQAD
65QoUPiJKFB1eAsAAQToAwAABOgDAADNjr0KgzAYAPc+xTe2SzGxsZpNUEQQLaF0kRLS+FUENSWJ
7ev3b+0DdLnhuOFaGpMd5V+GEWVRnAQxYXvGcyEawfsRHZV66mSH2nRot1qvGSHh5gxFBZ8IeFHJ
sj6lVZnJ5pCL9Fg2NXDox8yqRz7ihLN3HJT3ON08eANKa3QOzOLBXMGquUe4o/XDS8Mwv1M7XBaP
EKzan5OUJsEfTT4BUEsDBBQAAgAIAOstDUElqe4amQAAAAICAABiABwAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wv
Z2V0LWFjdGl2ZS10ZXN0LXN0ZGVyci50eHRVVAkAA+mUKFD2iShQdXgLAAEE6AMAAAToAwAAxY6x
CsIwFAB3v+KNukiTNEmbLWAphaJQqEuRoElaAm0DMYqfr+jqIoguNx3cdThDKRYvEoYpyzhlhCEu
iqbZNWIY7RkrPRllrPbGhrXWS4oQWR2grOEpgShrVW33sq426sG2AAHDWNoodXRX286u92ES4GZj
b+AvEXwP4TgPdtG9HUh5Qv45wBOaf3NAxhjc6YM+Ijn7Tf8OUEsDBBQAAgAIAOstDUGkNF0BlQAA
ACYBAABvABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVh
bC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tdGVzdC1zdGRl
cnIudHh0VVQJAAPplChQ9okoUHV4CwABBOgDAAAE6AMAAMWOsQ6CMBQAd7/ijboQ2kqBbsSgcRBM
Y+JADCltgSZQTFsH/14SV3eXy912Dc7QHrMvCcUJzVKKaBwTVnJeczZM2uNWzqpVWi5Ku0jKbYIQ
2T3gWvJjzS9FdSjhXvDqXJ0YFCE4072ChhiMB2W86CatIriNa47CgzeD7Y0UNsBTu35xs7BSr27F
FN6b5udSTtL8b0sfUEsDBBQAAgAIAOwtDUHjO3wNWgAAAGEAAABoABwAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wv
bnVsbC1vYmplY3QtYmVoYXZpb3VyLXN0ZGVyci50eHRVVAkAA+uUKFD4iShQdXgLAAEE6AMAAATo
AwAAizayMDQxsoKQxmZGpmYWliaGpkYWZlauQUH+QVbpOanFRvHJuSnxKanJ+SmpRXrJyRqmhobG
mrEK7j4KYEUKVu4+8Z5+YY4+ni7x/gGuQY4hnv5+ClZAyAUAUEsDBAoAAAAAAEUnDUEAAAAAAAAA
AAAAAAAvABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC9V
VAkAA2GJKFCDlShQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAEUnDUEAAAAAAAAAAAAAAAA1ABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9VVAkA
A2GJKFCDlShQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAEUnDUEAAAAAAAAAAAAAAAA+ABwAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0
eS9VVAkAA2GJKFCDlShQdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAEUnDUEAAAAAAAAAAAAAAABL
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9z
ZWN1cml0eS9taXhlZENvbnRlbnQvVVQJAANhiShQg5UoUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIA
CACZLQ1BUNxi6G4AAAByAAAAewAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2No
cm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWlmcmFtZS1p
bi1tYWluLWZyYW1lLWFsbG93ZWQtc3RkZXJyLnR4dFVUCQADUZQoUGGJKFB1eAsAAQToAwAABOgD
AACLNjIztDSwMjIzMrSwMjYzMjU1NrUwNDOxMLByDQryD7JKTi0qiS9LLcpMq4wvKMpPjs8rLtZL
TtYwNzHRjFVwdg0KiQ/w9owIA6twBipWSMsvUjA0MtczAEJDhbTEzJzUFIXUoiJbXQtDC0MuAFBL
AwQUAAIACAB7LQ1BGbE9/XYDAAA2HgAAQwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3B5d2Vi
c29ja2V0LndzLmxvZy0xM0F1ZzIwMTItMDUzOTMzLWVyci50eHRVVAkAAxmUKFAWkyhQdXgLAAEE
6AMAAAToAwAA7VhNj9s2EL3vrxikh2gBWZ+WrRhFgaRIml7SwrtADosFQUn0il2JVEkqjv99x5S8
ll1ngRpwui0EH2TI5Lw3w5nHB99FQRhNgnQSxhAki2m8mM7dOA3v4e7z2+WnXz/9cg+E1JQLQrzP
LLuR+SMzS/Zny7T5SEVRMbWASua0KqU2MIFcFgymQexCzbSmDww+SJXxomDi6u40Woxo75fL35an
sG6Y+rLFeP81Z43hUgAX0CiZY3QuHkB1XGClZL0A53UYzb0AP+FrF5IkisPrq1tFc5bR/BGcektS
sZwJA8i5gopqc724AvjAKwav/FYrv+KZ32xMKUXkzfwhDa/ZvHKh4oJh7NQdUCE9D2JKxWiBAQE0
q1beiguuy93PTv90Ia84kiC0KBRuvz6DQRwFlsEhwh758JR+xkz1t+Bdu2NAohbGf+DGX7PskZtJ
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
AAAAAAAAAAAAAAAAHQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvVVQJAAMviChQg5Uo
UHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAAANJw1BAAAAAAAAAAAAAAAAIwAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvVVQJAAP6iChQg5UoUHV4CwABBOgDAAAE6AMAAFBLAwQK
AAAAAACiJg1BAAAAAAAAAAAAAAAAKQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVz
dHMvY2FjaGUvVVQJAAMviChQg5UoUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIACAD1LA1B/sGlHUAB
AABaAgAARQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1y
ZWRpcmVjdC1nZXQtYWN0dWFsLnR4dFVUCQADHZMoUB2TKFB1eAsAAQToAwAABOgDAACN0V1LwzAU
BuD7/YrDvJjC6LKPfjAQYTpQUQY6FK8kTU7XuJiMJF1bh//dzFmHwmBXIYfnPTlJJK3RAHVwSrrk
DKz4QEgIqSJCWgAPqDiaJ4HlASKPiE+kZkvYXM/v7z4P0l+seQ2byezqZWeTbvJj42RUhcno2zZ6
jpWDzYnzy//WcRxV/bjhAFsDplB7Vgru8q0bQ/vGdSystLUilQiZ9ncCWzCG1maFBINrKgWnTmgF
TgOjhUXANSpnt/tMGARbK5YbrXRhZR3As6/kupBcdRwwQ20OIgOtEHQGLtf7BtbplW+TY/vQtP0w
bOYdRsTPKzXlATwiQu7cyo57vbRY2KDEdClcoM2i588uX30xYAtxIfh5PIijQQDtY9+PVOQPnb6n
yDnyWfqGzIdmk9vp5XyX8jN1B01w6P+0H5LWF1BLAwQKAAIAAAD1LA1BnOmndQYAAAAGAAAARwAc
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1n
ZXQtZXhwZWN0ZWQudHh0VVQJAAMdkyhQHZMoUHV4CwABBOgDAAAE6AMAAFBBU1MKClBLAwQUAAIA
CAD1LA1BVzVCW5kBAAAXAwAAQwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMv
Y2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQtZGlmZi50eHRVVAkAAx2TKFAdkyhQdXgLAAEE6AMAAATo
AwAApZJRb9MwEMff8ylO5WGgxInTrU00CVEKkwAxFdEKxBNy7Etj5sVVfF5Tqn13HEo3gVRpEk+2
z7/7+3/nY4xBRrebzIid9cQIHbEOnTfksoZokw0Rl0khG8w29vet0h1KYmskhv0mbFGl1BNEcRz/
l5qQ5IU5aM1mwPJkDHGe5Bxms4h9er1cRiyKgzh2IAie84S/AKd/IpSc91POoxjgM7YKuy8at6eY
JwnMjZU3sH+3uv54f5p9oK3awX6+ePvtAJdJ+Qcuyot+Ul4c4CO+wlDi/hmF5V/xopj2efHAAwwQ
dL595LZaUTOAlzB6T2cOQiedrgxCbUNd4LyU6FztDXR4J4xWgrRtgSxI4R0C3mFLbjjXofngdq1s
Otta78wuha8h0lhvVHtGIDvhGtA12BbB1kCNfRRwZDdBpsHRSbv5ZHI0fD7lwbCxQqWwRIRhINxl
llV+7dItVjeaUtuts/D49nsIpnKtX2n1shgX03EKoye3kPf8b/bqtkKlUC2qH2HUYL+Yf7h6szqk
BVfJ+Jh5Hn42n/DoF1BLAwQUAAIACAD1LA1BucePJtsfAACoKwAARQAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQtYWN0dWFsLnBuZ1VU
CQADHZMoUC+IKFB1eAsAAQToAwAABOgDAADtemlUk1e7dqy1tqLQVsUKIm0FURCwMgkIsUXlDQgU
GYIgREXEMMqUgCFgVUoLKhoFZAg4MAgxRIYQwhQnQEBBEyJDGGQIyJAwB0hIcu6073nX+db6fpzf
ZzULFivJfp699z1cw37481dH200b1DYgEIhNqH8dOYFArP0egfjM48vP4JOtW7bqwJ+9kUc9In0v
+PkGRkQFI0yMzpz13W9uZGR80MjP9yejs+dMDhif9/M1NTI39vU7YBTxgzoTgfgegTrys2t0tqCP
cMuVTzabWau78er3P+4xO/qr82E+6fTes6YlS/YnqhvZ95tLsvq41FdTlwwdGvQNU1vShJ4Pv/7W
952WXsAvX6MPex9pMOlXPV77w/3vv584civ56saNL2PkB6d5oaFL4zk7R5uOzq+sRo1mc9pjcgbm
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
hw9cK8m9sga8BcFrQsAHNJ66daEcArVGlM4aW5NuI7gLldLWWpoTD8JxKkEVYA2CLcCX9sWAvK2C
TYm9Q2kHo9E+79mYhbzachnBAhFK7yuaxHFeryjaYL5WPrJuFYe9N79DMRIr9UnJi2SYjIcR9N57
f6xhr9CrPzlKiXKe36MIovns29Xn5U4VMvWHe+FZeNPBiD39t6Ms7n7kP1BLAwQKAAIAAAD1LA1B
nOmndQYAAAAGAAAAUwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUv
cG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtZXhwZWN0ZWQudHh0VVQJAAMdkyhQHZMoUHV4
CwABBOgDAAAE6AMAAFBBU1MKClBLAwQUAAIACAD1LA1B1fYdYpAIAAAbHwAAVwAcAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNv
dXJjZXMtcHJldHR5LWRpZmYuaHRtbFVUCQADHZMoUC+IKFB1eAsAAQToAwAABOgDAADVWWtv20YW
/e5fMbCRui1MirIkW4/EReMHukW7KdbBLvaTMSSH4sQkR50Z2lKy/e9750WRFCm52ADuNmhEzuPO
ue8zzNtU5tnV0duU4Bh+hNxk5OpontHi8QzNn6igksToyxGC/yRZSy8mEeNYUlbMUcEKstBTIeMx
4V7IpGT5HA1XaxTDM4kXR38cGXFWSMQyxufoJBjN9Jx/RzNyQ5PEzoc4elxyVhax55YmU/WnfpA5
QbCMxugkjmMzl7BCegnOabaZo5wVTKxwZAHmmC8pQB6SHAVmaMVAOa0HJxlo9EQ0oHTYQjoajTrk
C1wITxBOk9qkoJ+JPqN+qJeRRM5R4E/ceEzFKsMgROIwI15EssxMPNNYpiAgCN5YjDiOabGsdht8
1j3qqekhC5kWKQCT1fKUPRHe0moymSz6DE6IMYWv/PILnCXs5iRjGFThdJnKpvfUqmswAaZFdRQD
81MJagYH1LZaelpuw1LPKWjnaT+qcHvmeLVFdk8i5b/ewNGbm2HTDhkbt87uEFTBam1OuF2vwMUg
H1QjZ8hXP20Ne+EJGpNwo/5GGur7jEWPv2EufVB1nlAupBelNIt7DauOu4f9Z/uEcZKDa88OnGfP
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
AmdOoE2xj+4JQY4QheVS+OYa4zO+HIBpnh9g0I+W9Acav7s8v7w499GrW2D2P6dEsH7NmjQMXqbA
LSyPYxJ/CD8BWUNfPrz/+fb6o9EFHHl27tQZQZkdToKDNKNGmBUp0dP1tdsfzU2BOOp/B/8vUEsD
BBQAAgAIAPUsDUHbKJQDoQEAAC8DAABPABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90
ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1kaWZmLnR4dFVUCQADHZMo
UB2TKFB1eAsAAQToAwAABOgDAACtklFv0zAQx9/zKU7lYaDEidOtTTQJUQqTADEV0QrEE0rsS2OW
xZF9XlKqfXccSjeBVGkPPFl3/t3//nc2YwwSuu2SpthpR4zQEjNoXUM2qYm6ZMzYRBSixqTT/rZX
VLPfsWTWlR7Wzgi0DIcOBaGMaSAIwjD8b8qFIFc0B93FAlgaTSFMo5TDYhGwT6/X64AFoW+EBgqC
5zziL8Cqnwg558Oc8yAE+IytRPNFYX+KeZLAstHiBvbvNtcf70+zD7SWO9gvV2+/HeA8yv/AWX4x
zPKLA3zEN+hH3D8jf/wrnmXzIc0eeIARAuPaR65XkuoRvITJezqz4LdqVdkgVNrPBdYJv01buQYM
3hWNkgUp3QJpEIWzCHiHLdkxrpRBsLtW1Ea32tlmF8NXn6m1a2R7RiBMYWtQFegWQVdAtX4UsKQ7
L1Pj5KTddDY7Gj6fc2+40YWMYY0I4+ewl0lSuq2NeyxvFMXabBPfvP/uk7HYqldKvsym2Xwaw+TJ
K+QD/5u9ui1RSpSr8of/ubBfLT9cvdkcyryraHqsPPcvm8548AtQSwMEFAACAAgA9SwNQf7BpR1A
AQAAWgIAAFEAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qt
d2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLWFjdHVhbC50eHRVVAkAAx2TKFAdkyhQdXgLAAEE6AMA
AAToAwAAjdFdS8MwFAbg+/2Kw7yYwuiyj34wEGE6UFEGOhSvJE1O17iYjCRdW4f/3cxZh8JgVyGH
5z05SSSt0QB1cEq65Ays+EBICKkiQloAD6g4mieB5QEij4hPpGZL2FzP7+8+D9JfrHkNm8ns6mVn
k27yY+NkVIXJ6Ns2eo6Vg82J88v/1nEcVf244QBbA6ZQe1YK7vKtG0P7xnUsrLS1IpUImfZ3Alsw
htZmhQSDayoFp05oBU4Do4VFwDUqZ7f7TBgEWyuWG610YWUdwLOv5LqQXHUcMENtDiIDrRB0Bi7X
+wbW6ZVvk2P70LT9MGzmHUbEzys15QE8IkLu3MqOe720WNigxHQpXKDNoufPLl99MWALcSH4eTyI
o0EA7WPfj1TkD52+p8g58ln6hsyHZpPb6eV8l/IzdQdNcOj/tB+S1hdQSwMECgAAAAAA8iYNQQAA
AAAAAAAAAAAAACgAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL21pc2MvVVQJ
AAPIiChQg5UoUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIACABJLQ1BFTU1knoAAAC8AAAAQgAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvbWlzYy94c2x0LWJhZC1pbXBvcnQtc3Rk
ZXJyLnR4dFVUCQADuZMoUMiIKFB1eAsAAQToAwAABOgDAACNjkEOwyAMBO95hT9AIO2hFb8hxFUs
GYyMkfr8EuUD1V5WO4fZLKURJyOpgKqiET7ECKdZi95vj9caZrb4DiH4Qj17xS5DM3b/7WxuT4ej
0kTNDaV1bsBUEZ6AjAWrwU2XSeJdIcKoaZ8aE2BJx3+6Kn3k87qXLDEvP1BLAwQUAAIACAA7LQ1B
Ay9ocG0AAAByAAAARwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvbWlzYy9k
bnMtcHJlZmV0Y2gtY29udHJvbC1zdGRlcnIudHh0VVQJAAOhkyhQsIgoUHV4CwABBOgDAAAE6AMA
AIs2MjExtLQCkuYGVsZmRqbGppZGRqZGJqZWrkFB/kFWyalFJfFlqUWZaZXxBUX5yfF5xcV6ycka
5iYmmrEKzq5BIfEB3p4RYWAVzkDFCmn5RQqGRuZ6BkBoqJCWmJmTmqKQWlRkq2thaGHIBQBQSwME
CgAAAAAAYC0NQQAAAAAAAAAAAAAAACwAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L1VUCQAD45MoUIOVKFB1eAsAAQToAwAABOgDAABQSwMECgACAAAANC4NQbAd
FDFCAAAAQgAAAEUAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2RvY3VtZW50LWFsbC1leHBlY3RlZC50eHRVVAkAA3SVKFB0lShQdXgLAAEE6AMAAAToAwAAQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE6IFVuY2F1Z2h0IFR5cGVFcnJvcjogSWxsZWdhbCBjb25zdHJ1
Y3RvcgoKUEsDBBQAAgAIADQuDUEbK4TFmwAAANkAAABDABwAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9kb2N1bWVudC1hbGwtd2RpZmYuaHRtbFVUCQADdJUoUOOT
KFB1eAsAAQToAwAABOgDAABdjssKwjAURPf9igvuW9zGGBAJIqhdRD/gmqQPvCQlScEi/rspXdX1
mTkzvLNoBI9pIitKYwk+8ET9aoMfnWGwaRB38IUSjflH2MyIV0uZV4tqCFYc65uqLxKuUqnDSTKg
3lnYMng4jWPbJeBxQAeaMMZ9XhX3abAyBB9Y9mUkVok8LtTkEr7XmTORbZFAexdTGHXyoSh4NV/4
AVBLAwQUAAIACABkLQ1BVnBSaWIAAACOAAAAVQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0
dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14bWwtZXh0ZXJuYWwtZW50aXR5LXN0ZGVyci50
eHRVVAkAA+uTKFD6iChQdXgLAAEE6AMAAAToAwAAjcwxCsMwDAXQ3af4W5aC6Go69gbdC8L5DgHb
MooC6e1Lb9ADvFf3xiwijCJXb1I0tNmW7xlT/aCD7ubIeFo5O0dgP8A+45PSO9W/+SvUA6EbeE2W
4HrD8lgwLFDtHOuv+wJQSwMECgACAAAANC4NQeiB66NEAAAARAAAAEMAHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2RvY3VtZW50LWFsbC1hY3R1YWwudHh0VVQJ
AAN0lShQdJUoUHV4CwABBOgDAAAE6AMAAENPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBVbmNhdWdo
dCBTeW50YXhFcnJvcjogSWxsZWdhbCBjb25zdHJ1Y3RvcgoKUEsDBBQAAgAIAGQtDUFgS2YQkQAA
APsBAABdABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3Mt
REVOSUVELXhzbC1kb2N1bWVudC1zZWN1cml0eU9yaWdpbi1zdGRlcnIudHh0VVQJAAPrkyhQ+ogo
UHV4CwABBOgDAAAE6AMAAO2OMQ6DMAxFd07hC4QEllaZYejSngEFUyKZJLKdCm5fOvQGHau/vq/3
Qt5KpEljToDMmT0skRBW1eKt7fpL6851/uqcs4KhctTD7iJmGO+3cTC7kJlzqBsmNV/gwfEZU7tv
BBQTQg9I+CFA9CCUFVGb8+lfyHK6PeREB3StgwUnrYwCEyNILSWz4tyEf+iPQ99QSwMEFAACAAgA
NC4NQQkaNnCgAAAALgEAAEEAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2RvY3VtZW50LWFsbC1kaWZmLnR4dFVUCQADdJUoUHSVKFB1eAsAAQToAwAABOgDAACl
zLEKwjAURuG9T3H3eA117FSRIoLaofoAIV5UuE1K8gfatxdx18HlDGf4mJksxsmqW2IBQzI4SS6K
bB/AZN8n2yy+pCcWe4u+jBLATpVlnsRDbmvMoMoY84flPIrTj9S2xPVqQ+adtq1415+H/tjRqRuG
7b5rSJ9BqG7oGrwr9wfoskzSpRRTQwdVuTslH0NGKh4xVea3MCwBbv5iUPUCUEsDBAoAAAAAABMn
DUEAAAAAAAAAAAAAAABCABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvVVQJAAMFiShQg5UoUHV4CwABBOgDAAAE6AMAAFBL
AwQUAAIACABpLQ1BY6qsbIIAAACoAAAAagAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC11bmFmZmVjdGVkLWJ5LXN0
eWxlLXNyYy0yLXN0ZGVyci50eHRVVAkAA/aTKFAFiShQdXgLAAEE6AMAAAToAwAALY1BCsMwDATv
eYVeEDu9pPgVhb4guBtiUCwjKaX+fU0pe1qG2c1ytsKbF6kEVdFEe2HQ4d5SCMttnePIku4xxmDI
lxbvIUt1VH/++0O45B4UJpdmWDDvjPljTFwqaCUwziHQD9gB+DRoekNtXCeSyp2WOdKOza8xRJuC
7GpN1PGavlBLAwQUAAIACABpLQ1BY6qsbIIAAACoAAAAWAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC1hbGxvd2Vk
LXN0ZGVyci50eHRVVAkAA/aTKFAEiShQdXgLAAEE6AMAAAToAwAALY1BCsMwDATveYVeEDu9pPgV
hb4guBtiUCwjKaX+fU0pe1qG2c1ytsKbF6kEVdFEe2HQ4d5SCMttnePIku4xxmDIlxbvIUt1VH/+
+0O45B4UJpdmWDDvjPljTFwqaCUwziHQD9gB+DRoekNtXCeSyp2WOdKOza8xRJuC7GpN1PGavlBL
AwQUAAIACAA0Lg1B6UHU1pEHAABnGAAASQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvZG9jdW1lbnQtYWxsLXByZXR0eS1kaWZmLmh0bWxVVAkAA3SVKFDjkyhQ
dXgLAAEE6AMAAAToAwAApVlbb9s2FH7PrxASdAGKSrJju4vt1EObyzaglwHpngtKoiw2lKiRVGJn
23/f4U2WZMnO0BWrJV4Oz+U75ztUrzKZ09XJVYZRAj9CbilenSwoKR7eeItHIojEiff3iQf/SbyR
foJjxpEkrFh4BSvwUk9FjCeY+xGTkuULb1xuvASecbI8+ffEiLNCYkYZX3hno8lczwV3hOIbkqZ2
PkLxw5qzqkh8tzS9VH+aB5kTBKMk8c6SJDFzKSukn6Kc0O3Cy1nBRIliq2CO+JqAymOceyMzVDIw
TtvBMQWLHrFWKBt3NJ1MJj3yBSqELzAnaWNSkGesz2ge6lOcyoU3CmZuPCGipAiESBRR7MeYUjPx
RBKZgYDR6JXVESUJKdb1bqOfDY96akfIqkyKDBST9fKMPWLesWo2my2HHI6xcUWg4vIRzhJ2c0oZ
AlM4WWeyHT216hpcgEhRH8XA/USCmaMjZlsrfS235amnDKzzdRwV3J44Knea3eNYxW8QOHpzGzZd
yFjcOr8DqEblxpxwuykhxCAfTMNvvED9dC0cVE+QBEdb9benVf1AWfzwB+IyAFMXKeFC+nFGaDLo
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
hMwRLgVBZnfWG1XlTL3GS39VSaum/fVnP5erEgyx9fwm02Gr1N8e9Kjkp40hq7QyGx5FfVLFNCb+
890fUEsBAh4DCgAAAAAAOy4NQQAAAAAAAAAAAAAAABgAGAAAAAAAAAAQAO1BAAAAAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL1VUBQADgpUoUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAOssDUHj
D4XS8jUAAFaPAgA0ABgAAAAAAAEAAACkgVIAAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy93ZWJr
aXRfdW5pdF90ZXN0c19vdXRwdXQueG1sVVQFAAMJkyhQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAA
AAAAxiYNQQAAAAAAAAAAAAAAAB0AGAAAAAAAAAAQAO1BsjYAAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2NzczMvVVQFAANziChQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAxiYNQQAAAAAAAAAA
AAAAACUAGAAAAAAAAAAQAO1BCTcAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NzczMvZmlsdGVy
cy9VVAUAA3OIKFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAADGJg1BAAAAAAAAAAAAAAAALAAY
AAAAAAAAABAA7UFoNwAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY3NzMy9maWx0ZXJzL2N1c3Rv
bS9VVAUAA3OIKFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAZLQ1BZWMrzooAAACTAAAAYgAY
AAAAAAABAAAApIHONwAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY3NzMy9maWx0ZXJzL2N1c3Rv
bS9jdXN0b20tZmlsdGVyLWNzcy1rZXl3b3JkLWFzLXBhcmFtZXRlci1uYW1lLXN0ZGVyci50eHRV
VAUAA2KTKFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAB3LQ1BMk5aCggBAACPAgAAQwAYAAAA
AAABAAAApIH0OAAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcHl3ZWJzb2NrZXQud3MubG9nLTEz
QXVnMjAxMi0wNTM5MzMtb3V0LnR4dFVUBQADEpQoUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
ACguDUFweQHiSMEAAGwJBQAmABgAAAAAAAEAAACkgXk6AAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy90ZXN0c19ydW4xLnR4dFVUBQADXJUoUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIADMuDUFc
3uUOKKsAAJxxBAAmABgAAAAAAAEAAACkgSH8AAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy90ZXN0
c19ydW4yLnR4dFVUBQADcZUoUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAFEnDUEAAAAAAAAA
AAAAAAAdABgAAAAAAAAAEADtQamnAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L1VUBQAD
eokoUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAADInDUEAAAAAAAAAAAAAAAAkABgAAAAAAAAA
EADtQQCoAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2xvYWRlci9VVAUAAz+JKFB1eAsA
AQToAwAABOgDAABQSwECHgMUAAIACACILQ1BQTp/05oHAAD4FwAAQwAYAAAAAAABAAAApIFeqAEA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIvbG9hZEluUHJvZ3Jlc3MtcHJldHR5
LWRpZmYuaHRtbFVUBQADMJQoUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAgAAAIgtDUHW0dp5LgAA
AC4AAAA/ABgAAAAAAAEAAACkgXWwAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2xvYWRl
ci9sb2FkSW5Qcm9ncmVzcy1leHBlY3RlZC50eHRVVAUAAzCUKFB1eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACACILQ1BbKMq8r4AAADwAAAAPQAYAAAAAAABAAAApIEcsQEAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvZmFzdC9sb2FkZXIvbG9hZEluUHJvZ3Jlc3Mtd2RpZmYuaHRtbFVUBQADMJQoUHV4
CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIgtDUEpJndpdAAAAH0AAAA9ABgAAAAAAAEAAACkgVGy
AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2xvYWRlci9sb2FkSW5Qcm9ncmVzcy1hY3R1
YWwudHh0VVQFAAMwlChQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAiC0NQTRdBubFAAAAGgEA
ADsAGAAAAAAAAQAAAKSBPLMBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvbG9hZGVyL2xv
YWRJblByb2dyZXNzLWRpZmYudHh0VVQFAAMwlChQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAA
UicNQQAAAAAAAAAAAAAAACEAGAAAAAAAAAAQAO1BdrQBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2Zhc3QveHNsL1VUBQADe4koUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAKgtDUGBSnetSwAA
AKwAAABMABgAAAAAAAEAAACkgdG0AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3hzbC94
c2x0LXRyYW5zZm9ybS10by1mcmFnbWVudC1jcmFzaC1zdGRlcnIudHh0VVQFAANslChQdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAqC0NQVBdSDeMAAAA+AAAADgAGAAAAAAAAQAAAKSBorUBAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QveHNsL3hzbHQtZG9jLWVuYy1zdGRlcnIudHh0VVQF
AANrlChQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAqC0NQVBdSDeMAAAA+AAAAD8AGAAAAAAA
AQAAAKSBoLYBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QveHNsL3hzbHQtYmFkLWltcG9y
dC11cmktc3RkZXJyLnR4dFVUBQADa5QoUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAKgtDUFt
R9RehQAAAPEAAAA9ABgAAAAAAAEAAACkgaW3AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0
L3hzbC90cmFuc2Zvcm0teGhyLWRvYy1zdGRlcnIudHh0VVQFAANrlChQdXgLAAEE6AMAAAToAwAA
UEsBAh4DCgAAAAAA/CYNQQAAAAAAAAAAAAAAACQAGAAAAAAAAAAQAO1BobgBAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL1VUBQAD24goUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoA
AAAAAFQtDUEAAAAAAAAAAAAAAAAqABgAAAAAAAAAEADtQf+4AQB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9VVAUAA9CTKFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CABTLQ1BXa+rf8YAAADgAQAASgAYAAAAAAABAAAApIFjuQEAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLXByZWNpc2lvbi1mb3JtYXQtZGlmZi50eHRVVAUA
A82TKFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABTLQ1BHxljefsBAAAODAAATgAYAAAAAAAB
AAAApIGtugEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVy
LXByZWNpc2lvbi1mb3JtYXQtZXhwZWN0ZWQudHh0VVQFAAPNkyhQdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgAUi0NQTQN+OWqAAAA3wIAAFEAGAAAAAAAAQAAAKSBML0BAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMt
c3RkZXJyLnR4dFVUBQADy5MoUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAFItDUGeqnxS3AAA
ADgBAABFABgAAAAAAAEAAACkgWW+AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZh
cy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXN0ZGVyci50eHRVVAUAA8yTKFB1eAsAAQToAwAABOgD
AABQSwECHgMUAAIACABTLQ1BGUuLE7UHAADBGwAAUgAYAAAAAAABAAAApIHAvwEAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLXByZWNpc2lvbi1mb3JtYXQt
cHJldHR5LWRpZmYuaHRtbFVUBQADzZMoUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAFEtDUFK
6vGjxwAAAF4GAABOABgAAAAAAAEAAACkgQHIAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0
L2NhbnZhcy93ZWJnbC9kcmF3LWFycmF5cy1vdXQtb2YtYm91bmRzLXN0ZGVyci50eHRVVAUAA8mT
KFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABULQ1BqRhDPYoAAACTAAAAUwAYAAAAAAABAAAA
pIFQyQEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvdW5pZm9ybS1s
b2NhdGlvbi1sZW5ndGgtbGltaXRzLXN0ZGVyci50eHRVVAUAA9CTKFB1eAsAAQToAwAABOgDAABQ
SwECHgMUAAIACABRLQ1B7b3QOowAAAABAQAARAAYAAAAAAABAAAApIFnygEAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvZXJyb3ItcmVwb3J0aW5nLXN0ZGVyci50eHRV
VAUAA8qTKFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABTLQ1BOWnGugwCAAA9DAAATAAYAAAA
AAABAAAApIFxywEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hh
ZGVyLXByZWNpc2lvbi1mb3JtYXQtYWN0dWFsLnR4dFVUBQADzZMoUHV4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIAAInDUHob0Z1igAAAJMAAABKABgAAAAAAAEAAACkgQPOAQB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1jb21wb3NpdGUtbW9kZXMtc3RkZXJy
LnR4dFVUBQAD44goUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAFEtDUH21LNkAQEAANUJAABQ
ABgAAAAAAAEAAACkgRHPAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJn
bC9kcmF3LWVsZW1lbnRzLW91dC1vZi1ib3VuZHMtc3RkZXJyLnR4dFVUBQADypMoUHV4CwABBOgD
AAAE6AMAAFBLAQIeAxQAAgAIAFQtDUEQxzCGPQEAAKEMAABJABgAAAAAAAEAAACkgZzQAQB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC90eXBlLWNvbnZlcnNpb24tdGVz
dC1zdGRlcnIudHh0VVQFAAPPkyhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAUy0NQWWTmR9b
AgAA3QwAAEwAGAAAAAAAAQAAAKSBXNIBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2Fu
dmFzL3dlYmdsL3NoYWRlci1wcmVjaXNpb24tZm9ybWF0LXdkaWZmLmh0bWxVVAUAA82TKFB1eAsA
AQToAwAABOgDAABQSwECHgMUAAIACABSLQ1BQTP5iakAAACUAgAAVAAYAAAAAAABAAAApIE91QEA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlv
bi1jb3BpZXMtaW5kaWNlcy1zdGRlcnIudHh0VVQFAAPLkyhQdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAUi0NQS5GPW+fAAAASgEAAF8AGAAAAAAAAQAAAKSBdNYBAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tdmVyaWZpZXMtdG9vLW1h
bnktaW5kaWNlcy1zdGRlcnIudHh0VVQFAAPMkyhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA
US0NQYb0sM+aAAAAAgIAAEQAGAAAAAAAAQAAAKSBrNcBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2Zhc3QvY2FudmFzL3dlYmdsL2dldC1hY3RpdmUtdGVzdC1zdGRlcnIudHh0VVQFAAPKkyhQdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgAUS0NQcRDwxGVAAAAJgEAAFEAGAAAAAAAAQAAAKSBxNgB
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLWJpbmQtYXR0cmli
LWxvY2F0aW9uLXRlc3Qtc3RkZXJyLnR4dFVUBQADypMoUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQA
AgAIAFItDUEtkf86zgAAAKgBAABKABgAAAAAAAEAAACkgeTZAQB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbnZhbGlkLXBhc3NlZC1wYXJhbXMtc3RkZXJyLnR4dFVU
BQADzJMoUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAFItDUH+k6fcWgAAAGEAAABKABgAAAAA
AAEAAACkgTbbAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9udWxs
LW9iamVjdC1iZWhhdmlvdXItc3RkZXJyLnR4dFVUBQADzJMoUHV4CwABBOgDAAAE6AMAAFBLAQIe
AwoAAAAAABYnDUEAAAAAAAAAAAAAAAAoABgAAAAAAAAAEADtQRTcAQB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9mYXN0L2ZpbGVzeXN0ZW0vVVQFAAMMiShQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAC
AAgAbC0NQaUAwilnAAAAcQAAADoAGAAAAAAAAQAAAKSBdtwBAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2Zhc3QvZmlsZXN5c3RlbS9vcC1jb3B5LXN0ZGVyci50eHRVVAUAA/yTKFB1eAsAAQToAwAA
BOgDAABQSwECHgMUAAIACABsLQ1B4Pg1pGcAAABxAAAAOgAYAAAAAAABAAAApIFR3QEAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvZmFzdC9maWxlc3lzdGVtL29wLW1vdmUtc3RkZXJyLnR4dFVUBQAD
/JMoUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGwtDUE0JRAJZwAAAHEAAAA8ABgAAAAAAAEA
AACkgSzeAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtcmVtb3Zl
LXN0ZGVyci50eHRVVAUAA/yTKFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAA0Lg1BYt3kGmxJ
AQAbqw8AJgAYAAAAAAABAAAApIEJ3wEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvYWNjZXNzX2xv
Zy50eHRVVAUAA3SVKFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAArLg1B0HbEBqWVAACXFQQA
JgAYAAAAAAABAAAApIHVKAMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvdGVzdHNfcnVuMy50eHRV
VAUAA2GVKFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAA0Lg1BWrd8o7Y1AACrkAUAJQAYAAAA
AAABAAAApIHavgMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZXJyb3JfbG9nLnR4dFVUBQADdJUo
UHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAEUnDUEAAAAAAAAAAAAAAAAhABgAAAAAAAAAEADt
Qe/0AwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9VVAUAA2GJKFB1eAsAAQToAwAA
BOgDAABQSwECHgMKAAAAAAATKA1BAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA7UFK9QMAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vVVQFAAP2iShQdXgLAAEE6AMAAATo
AwAAUEsBAh4DCgAAAAAAEygNQQAAAAAAAAAAAAAAADIAGAAAAAAAAAAQAO1BrvUDAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvVVQFAAP2iShQdXgLAAEE
6AMAAAToAwAAUEsBAh4DCgAAAAAAEygNQQAAAAAAAAAAAAAAADYAGAAAAAAAAAAQAO1BGvYDAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L1VUBQAD
9okoUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAABMoDUEAAAAAAAAAAAAAAAA7ABgAAAAAAAAA
EADtQYr2AwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFs
L2dwdS9mYXN0L1VUBQAD9okoUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAABMoDUEAAAAAAAAA
AAAAAABCABgAAAAAAAAAEADtQf/2AwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9j
aHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy9VVAUAA/aJKFB1eAsAAQToAwAABOgDAABQ
SwECHgMKAAAAAADsLQ1BAAAAAAAAAAAAAAAASAAYAAAAAAAAABAA7UF79wMAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2Vi
Z2wvVVQFAAPslChQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA7C0NQS2aaSvYAAAAHAIAAGgA
GAAAAAAAAQAAAKSB/fcDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVt
L3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1wcmVjaXNpb24tZm9ybWF0LWRp
ZmYudHh0VVQFAAPslChQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA7C0NQR8ZY3n7AQAADgwA
AGwAGAAAAAAAAQAAAKSBd/kDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9t
aXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1wcmVjaXNpb24tZm9ybWF0
LWV4cGVjdGVkLnR4dFVUBQAD7JQoUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAOstDUFL7jND
qQAAAN8CAABvABgAAAAAAAEAAACkgRj8AwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9y
bS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9nbC12ZXJ0ZXgtYXR0cmli
LXplcm8taXNzdWVzLXN0ZGVyci50eHRVVAUAA+qUKFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CADsLQ1BOqQrydwAAAA4AQAAYwAYAAAAAAABAAAApIFq/QMAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgt
dmFsaWRhdGlvbi1zdGRlcnIudHh0VVQFAAPrlChQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA
7C0NQXU2MIvNBwAA3xsAAHAAGAAAAAAAAQAAAKSB4/4DAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1w
cmVjaXNpb24tZm9ybWF0LXByZXR0eS1kaWZmLmh0bWxVVAUAA+yUKFB1eAsAAQToAwAABOgDAABQ
SwECHgMUAAIACADrLQ1BV6BDM8YAAABeBgAAbAAYAAAAAAABAAAApIFaBwQAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2Vi
Z2wvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy1zdGRlcnIudHh0VVQFAAPplChQdXgLAAEE6AMA
AAToAwAAUEsBAh4DFAACAAgA6y0NQdZVSbuLAAAAAQEAAGIAGAAAAAAAAQAAAKSBxggEAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2Fu
dmFzL3dlYmdsL2Vycm9yLXJlcG9ydGluZy1zdGRlcnIudHh0VVQFAAPplChQdXgLAAEE6AMAAATo
AwAAUEsBAh4DFAACAAgA7C0NQTlpxroMAgAAPQwAAGoAGAAAAAAAAQAAAKSB7QkEAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFz
L3dlYmdsL3NoYWRlci1wcmVjaXNpb24tZm9ybWF0LWFjdHVhbC50eHRVVAUAA+yUKFB1eAsAAQTo
AwAABOgDAABQSwECHgMUAAIACADsLQ1BHF8qWs4AAACoAQAAaAAYAAAAAAABAAAApIGdDAQAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9j
YW52YXMvd2ViZ2wvcHJlbXVsdGlwbHlhbHBoYS10ZXN0LXN0ZGVyci50eHRVVAUAA+yUKFB1eAsA
AQToAwAABOgDAABQSwECHgMUAAIACADvLQ1BOu0lfIoAAACTAAAAaAAYAAAAAAABAAAApIENDgQA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFz
dC9jYW52YXMvd2ViZ2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVzLXN0ZGVyci50eHRVVAUAA/GUKFB1
eAsAAQToAwAABOgDAABQSwECHgMUAAIACADrLQ1BXi5lRwABAADVCQAAbgAYAAAAAAABAAAApIE5
DwQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUv
ZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLXN0ZGVyci50eHRV
VAUAA+mUKFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACADuLQ1BXRhU+EABAAChDAAAZwAYAAAA
AAABAAAApIHhEAQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmly
dHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvdHlwZS1jb252ZXJzaW9uLXRlc3Qtc3RkZXJyLnR4
dFVUBQAD75QoUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIABQoDUFweelmzgAAAKgBAABoABgA
AAAAAAEAAACkgcISBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92
aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9udWxsLXVuaWZvcm0tbG9jYXRpb24tc3RkZXJy
LnR4dFVUBQAD+IkoUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAOwtDUFlk5kfWwIAAN0MAABq
ABgAAAAAAAEAAACkgTIUBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1
bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9zaGFkZXItcHJlY2lzaW9uLWZvcm1hdC13
ZGlmZi5odG1sVVQFAAPslChQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA7C0NQXN65B6rAAAA
lAIAAHIAGAAAAAAAAQAAAKSBMRcEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2No
cm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tY29w
aWVzLWluZGljZXMtc3RkZXJyLnR4dFVUBQAD65QoUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
AOwtDUHPNk0KoAAAAEoBAAB9ABgAAAAAAAEAAACkgYgYBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12
YWxpZGF0aW9uLXZlcmlmaWVzLXRvby1tYW55LWluZGljZXMtc3RkZXJyLnR4dFVUBQAD65QoUHV4
CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAOstDUElqe4amQAAAAICAABiABgAAAAAAAEAAACkgd8Z
BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9m
YXN0L2NhbnZhcy93ZWJnbC9nZXQtYWN0aXZlLXRlc3Qtc3RkZXJyLnR4dFVUBQAD6ZQoUHV4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIAOstDUGkNF0BlQAAACYBAABvABgAAAAAAAEAAACkgRQbBAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0
L2NhbnZhcy93ZWJnbC9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi10ZXN0LXN0ZGVyci50eHRVVAUA
A+mUKFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACADsLQ1B4zt8DVoAAABhAAAAaAAYAAAAAAAB
AAAApIFSHAQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVh
bC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvbnVsbC1vYmplY3QtYmVoYXZpb3VyLXN0ZGVyci50eHRV
VAUAA+uUKFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAABFJw1BAAAAAAAAAAAAAAAALwAYAAAA
AAAAABAA7UFOHQQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0
cC9VVAUAA2GJKFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAABFJw1BAAAAAAAAAAAAAAAANQAY
AAAAAAAAABAA7UG3HQQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0v
aHR0cC90ZXN0cy9VVAUAA2GJKFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAABFJw1BAAAAAAAA
AAAAAAAAPgAYAAAAAAAAABAA7UEmHgQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0v
Y2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9VVAUAA2GJKFB1eAsAAQToAwAABOgDAABQSwEC
HgMKAAAAAABFJw1BAAAAAAAAAAAAAAAASwAYAAAAAAAAABAA7UGeHgQAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRl
bnQvVVQFAANhiShQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAmS0NQVDcYuhuAAAAcgAAAHsA
GAAAAAAAAQAAAKSBIx8EAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVt
L2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWlmcmFtZS1pbi1tYWlu
LWZyYW1lLWFsbG93ZWQtc3RkZXJyLnR4dFVUBQADUZQoUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQA
AgAIAHstDUEZsT39dgMAADYeAABDABgAAAAAAAEAAACkgUYgBAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9weXdlYnNvY2tldC53cy5sb2ctMTNBdWcyMDEyLTA1MzkzMy1lcnIudHh0VVQFAAMZlChQ
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAKC4NQbseMwxKbAAAW84DACYAGAAAAAAAAQAAAKSB
OSQEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Rlc3RzX3J1bjAudHh0VVQFAANclShQdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAOy4NQbeaoZvwJAAAg50AACQAGAAAAAAAAQAAAKSB45AEAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Jlc3VsdHMuaHRtbFVUBQADgpUoUHV4CwABBOgDAAAE6AMA
AFBLAQIeAwoAAAAAABQoDUEAAAAAAAAAAAAAAAAgABgAAAAAAAAAEADtQTG2BAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9wbHVnaW5zL1VUBQAD94koUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
AO4tDUHSBJTX7wAAAFkBAABEABgAAAAAAAEAAACkgYu2BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9wbHVnaW5zL251bGwtbnBwLWdldHZhbHVlLXBvaW50ZXItc3RkZXJyLnR4dFVUBQAD75QoUHV4
CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIADsuDUEqUPCNAQIAAPAEAAApABgAAAAAAAEAAACkgfi3
BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mdWxsX3Jlc3VsdHMuanNvblVUBQADgZUoUHV4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIADMuDUGR7GaBGiQAAG9hAAAiABgAAAAAAAEAAACkgVy6BAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwZC5jb25mVVQFAANylShQdXgLAAEE6AMAAAToAwAA
UEsBAh4DCgAAAAAAoiYNQQAAAAAAAAAAAAAAAB0AGAAAAAAAAAAQAO1B0t4EAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2h0dHAvVVQFAAMviChQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAADScN
QQAAAAAAAAAAAAAAACMAGAAAAAAAAAAQAO1BKd8EAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0
dHAvdGVzdHMvVVQFAAP6iChQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAoiYNQQAAAAAAAAAA
AAAAACkAGAAAAAAAAAAQAO1Bht8EAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMv
Y2FjaGUvVVQFAAMviChQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA9SwNQf7BpR1AAQAAWgIA
AEUAGAAAAAAAAQAAAKSB6d8EAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2Fj
aGUvcG9zdC1yZWRpcmVjdC1nZXQtYWN0dWFsLnR4dFVUBQADHZMoUHV4CwABBOgDAAAE6AMAAFBL
AQIeAwoAAgAAAPUsDUGc6ad1BgAAAAYAAABHABgAAAAAAAEAAACkgajhBAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LWV4cGVjdGVkLnR4
dFVUBQADHZMoUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAPUsDUFXNUJbmQEAABcDAABDABgA
AAAAAAEAAACkgS/iBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bv
c3QtcmVkaXJlY3QtZ2V0LWRpZmYudHh0VVQFAAMdkyhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAC
AAgA9SwNQbnHjybbHwAAqCsAAEUAGAAAAAAAAAAAAKSBReQEAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQtYWN0dWFsLnBuZ1VUBQADHZMo
UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAPUsDUGNpXyKjwEAAOgCAABFABgAAAAAAAEAAACk
gZ8EBQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJl
Y3QtZ2V0LXdkaWZmLmh0bWxVVAUAAx2TKFB1eAsAAQToAwAABOgDAABQSwECHgMKAAIAAAD1LA1B
nOmndQYAAAAGAAAAUwAYAAAAAAABAAAApIGtBgUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0
cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1leHBlY3RlZC50eHRV
VAUAAx2TKFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAD1LA1B1fYdYpAIAAAbHwAAVwAYAAAA
AAABAAAApIFABwUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0
LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1wcmV0dHktZGlmZi5odG1sVVQFAAMdkyhQdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgA9SwNQY2lfIqPAQAA6AIAAFEAGAAAAAAAAQAAAKSBYRAFAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1z
dWJyZXNvdXJjZXMtd2RpZmYuaHRtbFVUBQADHZMoUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
APUsDUG5x48m2x8AAKgrAABRABgAAAAAAAAAAACkgXsSBQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLWFjdHVhbC5w
bmdVVAUAAx2TKFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAD1LA1BnEKPLYkIAAAPHwAASwAY
AAAAAAABAAAApIHhMgUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9w
b3N0LXJlZGlyZWN0LWdldC1wcmV0dHktZGlmZi5odG1sVVQFAAMdkyhQdXgLAAEE6AMAAAToAwAA
UEsBAh4DFAACAAgA9SwNQdsolAOhAQAALwMAAE8AGAAAAAAAAQAAAKSB7zsFAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJj
ZXMtZGlmZi50eHRVVAUAAx2TKFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAD1LA1B/sGlHUAB
AABaAgAAUQAYAAAAAAABAAAApIEZPgUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0
cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1hY3R1YWwudHh0VVQFAAMdkyhQ
dXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAA8iYNQQAAAAAAAAAAAAAAACgAGAAAAAAAAAAQAO1B
5D8FAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvbWlzYy9VVAUAA8iIKFB1eAsA
AQToAwAABOgDAABQSwECHgMUAAIACABJLQ1BFTU1knoAAAC8AAAAQgAYAAAAAAABAAAApIFGQAUA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9taXNjL3hzbHQtYmFkLWltcG9ydC1z
dGRlcnIudHh0VVQFAAO5kyhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAOy0NQQMvaHBtAAAA
cgAAAEcAGAAAAAAAAQAAAKSBPEEFAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMv
bWlzYy9kbnMtcHJlZmV0Y2gtY29udHJvbC1zdGRlcnIudHh0VVQFAAOhkyhQdXgLAAEE6AMAAATo
AwAAUEsBAh4DCgAAAAAAYC0NQQAAAAAAAAAAAAAAACwAGAAAAAAAAAAQAO1BKkIFAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkvVVQFAAPjkyhQdXgLAAEE6AMAAATo
AwAAUEsBAh4DCgACAAAANC4NQbAdFDFCAAAAQgAAAEUAGAAAAAAAAQAAAKSBkEIFAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkvZG9jdW1lbnQtYWxsLWV4cGVjdGVk
LnR4dFVUBQADdJUoUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIADQuDUEbK4TFmwAAANkAAABD
ABgAAAAAAAEAAACkgVFDBQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2RvY3VtZW50LWFsbC13ZGlmZi5odG1sVVQFAAN0lShQdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAZC0NQVZwUmliAAAAjgAAAFUAGAAAAAAAAQAAAKSBaUQFAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14bWwtZXh0ZXJuYWwtZW50aXR5
LXN0ZGVyci50eHRVVAUAA+uTKFB1eAsAAQToAwAABOgDAABQSwECHgMKAAIAAAA0Lg1B6IHro0QA
AABEAAAAQwAYAAAAAAABAAAApIFaRQUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9kb2N1bWVudC1hbGwtYWN0dWFsLnR4dFVUBQADdJUoUHV4CwABBOgDAAAE6AMA
AFBLAQIeAxQAAgAIAGQtDUFgS2YQkQAAAPsBAABdABgAAAAAAAEAAACkgRtGBQB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQteHNsLWRvY3VtZW50
LXNlY3VyaXR5T3JpZ2luLXN0ZGVyci50eHRVVAUAA+uTKFB1eAsAAQToAwAABOgDAABQSwECHgMU
AAIACAA0Lg1BCRo2cKAAAAAuAQAAQQAYAAAAAAABAAAApIFDRwUAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9kb2N1bWVudC1hbGwtZGlmZi50eHRVVAUAA3SVKFB1
eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAATJw1BAAAAAAAAAAAAAAAAQgAYAAAAAAAAABAA7UFe
SAUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvVVQFAAMFiShQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAaS0NQWOqrGyC
AAAAqAAAAGoAGAAAAAAAAQAAAKSB2kgFAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC11bmFmZmVjdGVkLWJ5LXN0eWxl
LXNyYy0yLXN0ZGVyci50eHRVVAUAA/aTKFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACABpLQ1B
Y6qsbIIAAACoAAAAWAAYAAAAAAABAAAApIEASgUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJy
LnR4dFVUBQAD9pMoUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIADQuDUHpQdTWkQcAAGcYAABJ
ABgAAAAAAAEAAACkgRRLBQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2RvY3VtZW50LWFsbC1wcmV0dHktZGlmZi5odG1sVVQFAAN0lShQdXgLAAEE6AMAAAToAwAA
UEsBAh4DCgAAAAAAYigNQQAAAAAAAAAAAAAAACAAGAAAAAAAAAAQAO1BKFMFAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL3JldHJpZXMvVVQFAAOIiihQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA
Oi4NQSX2dWDCAAAAeAEAAC4AGAAAAAAAAQAAAKSBglMFAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3JldHJpZXMvdGVzdHNfcnVuMC50eHRVVAUAA4CVKFB1eAsAAQToAwAABOgDAABQSwUGAAAAAHYA
dgATQAAArFQFAAAA
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157937</attachid>
            <date>2012-08-13 01:13:09 -0700</date>
            <delta_ts>2012-08-13 19:21:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93792-20120813171236.patch</filename>
            <type>text/plain</type>
            <size>201736</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1MzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWMzZjExMGM1YTc4Mzcx
MmQ4NjQ4NTI2ODg2ZGNmMjc5ZTM5M2MyNy4uMjYyM2JlM2VmZjEzNzZkM2E5NjA2ZWYxY2E0YTcx
NTNkYzAyYzA2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5NiBAQAorMjAxMi0wOC0xMiAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1Y4XSBGYWN0b3Ig
b3V0IGV4Y2VwdGlvbiByZWxhdGVkIG1ldGhvZHMgb2YgVjhQcm94eQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTM3OTIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUbyByZW1vdmUgVjhQcm94eSwgdGhpcyBw
YXRjaCBmYWN0b3JzIG91dCBleGNlcHRpb24gcmVsYXRlZCBtZXRob2RzIG9mIFY4UHJveHkKKyAg
ICAgICAgdG8gYSBzZXBhcmF0ZSBmaWxlLgorCisgICAgICAgICgxKSBNb3ZlIGV4Y2VwdGlvbiBy
ZWxhdGVkIG1ldGhvZHMgZnJvbSBWOFByb3h5LntoLGNwcH0gdG8gVjhUaHJvd0V4Y2VwdGlvbi57
aCxjcHB9LgorICAgICAgICAoMikgVG8gYXZvaWQgd3JpdGluZyBWOFRocm93RXhjZXB0aW9uOjp0
aHJvd0Vycm9yKCkgaGVyZSBhbmQgdGhlcmUgaW4gVjggYmluZGluZywKKyAgICAgICAgaW1wbGVt
ZW50IFdlYkNvcmU6OnRocm93RXJyb3IoKSBpbiBWOEJpbmRpbmcue2gsY3BwfS4gSWRlYWxseSwg
d2Ugd2FudCB0byBsaXN0IHVwCisgICAgICAgIGFsbCBWOCBiaW5kaW5nIEFQSXMgaW4gVjhCaW5k
aW5nLmguCisgICAgICAgICgzKSBSZXBsYWNlIGFsbCBWOFByb3h5Ojp0aHJvd0Vycm9yKCkgd2l0
aCB0aHJvd0Vycm9yKCkuCisKKyAgICAgICAgTml0OiBJIGNvdWxkbid0IHdyaXRlIHRoZSBkZWZp
bml0aW9uIG9mIFdlYkNvcmU6OnRocm93RXJyb3IoKSBpbiBWOEJJbmRpbmcuaAorICAgICAgICBk
dWUgdG8gY2lyY3VsYXIgZGVwZW5kZW5jeSBpc3N1ZXMuIEVpdGhlciB3YXksIHRoZXNlIG1ldGhv
ZHMgd291bGRuJ3QgYmUKKyAgICAgICAgcGVyZm9ybWFuY2UtY3JpdGljYWwuCisKKyAgICAgICAg
Tm8gdGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIFVzZVY4LmNtYWtl
OgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKEdlbmVyYXRlTm9ybWFsQXR0ckdldHRlcik6Cisg
ICAgICAgIChHZW5lcmF0ZU5vcm1hbEF0dHJTZXR0ZXIpOgorICAgICAgICAoR2VuZXJhdGVPdmVy
bG9hZGVkRnVuY3Rpb25DYWxsYmFjayk6CisgICAgICAgIChHZW5lcmF0ZUZ1bmN0aW9uQ2FsbGJh
Y2spOgorICAgICAgICAoR2VuZXJhdGVBcmd1bWVudHNDb3VudENoZWNrKToKKyAgICAgICAgKEdl
bmVyYXRlUGFyYW1ldGVyc0NoZWNrKToKKyAgICAgICAgKEdlbmVyYXRlQ29uc3RydWN0b3JDYWxs
YmFjayk6CisgICAgICAgIChHZW5lcmF0ZUV2ZW50Q29uc3RydWN0b3JDYWxsYmFjayk6CisgICAg
ICAgIChHZW5lcmF0ZU5hbWVkQ29uc3RydWN0b3JDYWxsYmFjayk6CisgICAgICAgIChHZW5lcmF0
ZUZ1bmN0aW9uQ2FsbFN0cmluZyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4RmxvYXQ2NEFycmF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZsb2F0NjRBcnJheVY4SW50
ZXJuYWw6OmZvb0NhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RBY3RpdmVE
T01PYmplY3RWOEludGVybmFsOjpleGNpdGluZ0Z1bmN0aW9uQ2FsbGJhY2spOgorICAgICAgICAo
V2ViQ29yZTo6VGVzdEFjdGl2ZURPTU9iamVjdFY4SW50ZXJuYWw6OnBvc3RNZXNzYWdlQ2FsbGJh
Y2spOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1l
ZEdldHRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJWOElu
dGVybmFsOjphbm90aGVyRnVuY3Rpb25DYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0b3JDYWxsYmFjayk6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlRlc3RFdmVudFRhcmdldFY4SW50ZXJuYWw6Oml0ZW1DYWxsYmFjayk6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXN0RXZlbnRUYXJnZXRWOEludGVybmFsOjpkaXNwYXRjaEV2ZW50
Q2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRl
cmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGVzdEludGVyZmFjZVY4SW50ZXJuYWw6OnN1
cHBsZW1lbnRhbE1ldGhvZDJDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RJbnRl
cmZhY2U6OmNvbnN0cnVjdG9yQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyVjhJbnRlcm5hbDo6bWV0aG9kQ2FsbGJhY2sp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVj
dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1
Y3RvckNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3ROb2RlOjpjb25zdHJ1Y3RvckNhbGxi
YWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjphdHRyV2l0aEdldHRlckV4Y2Vw
dGlvbkF0dHJHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OmF0
dHJXaXRoR2V0dGVyRXhjZXB0aW9uQXR0clNldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpUZXN0
T2JqVjhJbnRlcm5hbDo6YXR0cldpdGhTZXR0ZXJFeGNlcHRpb25BdHRyU2V0dGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjpzdHJpbmdBdHRyV2l0aEdldHRlckV4Y2Vw
dGlvbkF0dHJHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OnN0
cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uQXR0clNldHRlcik6CisgICAgICAgIChXZWJDb3Jl
OjpUZXN0T2JqVjhJbnRlcm5hbDo6c3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRpb25BdHRyU2V0
dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjp3aXRoU2NyaXB0U3Rh
dGVBdHRyaWJ1dGVSYWlzZXNBdHRyR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpW
OEludGVybmFsOjp3aXRoU2NyaXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXNBdHRyU2V0dGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjp3aXRoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dEF0dHJpYnV0ZVJhaXNlc0F0dHJHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9i
alY4SW50ZXJuYWw6OndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QXR0cmlidXRlUmFpc2VzQXR0
clNldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6d2l0aFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZUF0dHJpYnV0ZVJhaXNlc0F0dHJHZXR0ZXIp
OgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OndpdGhTY3JpcHRFeGVjdXRp
b25Db250ZXh0QW5kU2NyaXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXNBdHRyU2V0dGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjp2b2lkTWV0aG9kV2l0aEFyZ3NDYWxsYmFj
ayk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6TWV0aG9kV2l0aEFyZ3ND
YWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6b2JqTWV0aG9k
V2l0aEFyZ3NDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6
bWV0aG9kV2l0aFNlcXVlbmNlQXJnQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9i
alY4SW50ZXJuYWw6Om1ldGhvZFJldHVybmluZ1NlcXVlbmNlQ2FsbGJhY2spOgorICAgICAgICAo
V2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6Om1ldGhvZFRoYXRSZXF1aXJlc0FsbEFyZ3NBbmRU
aHJvd3NDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6c2Vy
aWFsaXplZFZhbHVlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJu
YWw6OmlkYktleUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVybmFs
OjpvcHRpb25zT2JqZWN0Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50
ZXJuYWw6Om1ldGhvZFdpdGhFeGNlcHRpb25DYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpU
ZXN0T2JqVjhJbnRlcm5hbDo6d2l0aFNjcmlwdFN0YXRlVm9pZEV4Y2VwdGlvbkNhbGxiYWNrKToK
KyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjp3aXRoU2NyaXB0U3RhdGVPYmpF
eGNlcHRpb25DYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6
d2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZU9iakV4Y2VwdGlvbkNhbGxi
YWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjptZXRob2RXaXRoTm9u
T3B0aW9uYWxBcmdBbmRPcHRpb25hbEFyZ0NhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlRl
c3RPYmpWOEludGVybmFsOjptZXRob2RXaXRoTm9uT3B0aW9uYWxBcmdBbmRUd29PcHRpb25hbEFy
Z3NDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6bWV0aG9k
V2l0aENhbGxiYWNrQXJnQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50
ZXJuYWw6Om1ldGhvZFdpdGhOb25DYWxsYmFja0FyZ0FuZENhbGxiYWNrQXJnQ2FsbGJhY2spOgor
ICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6Om1ldGhvZFdpdGhDYWxsYmFja0Fu
ZE9wdGlvbmFsQXJnQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJu
YWw6Om92ZXJsb2FkZWRNZXRob2QxQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9i
alY4SW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2QyQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29y
ZTo6VGVzdE9ialY4SW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2QzQ2FsbGJhY2spOgorICAgICAg
ICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2Q0Q2FsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2Q1
Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6Om92ZXJsb2Fk
ZWRNZXRob2Q2Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6
Om92ZXJsb2FkZWRNZXRob2Q3Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4
SW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2Q4Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6
VGVzdE9ialY4SW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2Q5Q2FsbGJhY2spOgorICAgICAgICAo
V2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2QxMENhbGxiYWNrKToK
KyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjpvdmVybG9hZGVkTWV0aG9kQ2Fs
bGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6Om92ZXJsb2FkZWRN
ZXRob2QxMUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjpv
dmVybG9hZGVkTWV0aG9kMTJDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJ
bnRlcm5hbDo6Y2xhc3NNZXRob2RXaXRoQ2xhbXBDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3Jl
OjpUZXN0T2JqVjhJbnRlcm5hbDo6ZW5hYmxlZEF0UnVudGltZU1ldGhvZDFDYWxsYmFjayk6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6ZW5hYmxlZEF0UnVudGltZU1ldGhv
ZDJDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6ZW5hYmxl
ZFBlckNvbnRleHRNZXRob2QxQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4
SW50ZXJuYWw6OmVuYWJsZWRQZXJDb250ZXh0TWV0aG9kMkNhbGxiYWNrKToKKyAgICAgICAgKFdl
YkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjpzdHJpbmdBcnJheUZ1bmN0aW9uQ2FsbGJhY2spOgor
ICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OmdldFNWR0RvY3VtZW50Q2FsbGJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OmNvbnZlcnQxQ2FsbGJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OmNvbnZlcnQyQ2FsbGJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OmNvbnZlcnQzQ2FsbGJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OmNvbnZlcnQ0Q2FsbGJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OmNvbnZlcnQ1Q2FsbGJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OnN0cmljdEZ1bmN0aW9u
Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhUZXN0T2JqOjpjb25zdHJ1Y3RvckNhbGxi
YWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2VWOEludGVybmFsOjphY2NlcHRUcmFuc2Zlckxpc3RDYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlVjhJbnRlcm5hbDo6bXVsdGlUcmFuc2Zlckxpc3RDYWxsYmFjayk6CisgICAgICAgIChXZWJD
b3JlOjpWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OmNvbnN0cnVjdG9yQ2Fs
bGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L0RhdGVFeHRlbnNpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RGF0ZUV4dGVuc2lvbjo6T25TbGVlcERldGVjdGVkKToKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcDoKKyAgICAgICAgKF9OUE5fU2V0RXhjZXB0aW9uKToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlOjp0cmFuc2ZlckFycmF5QnVmZmVycyk6
CisgICAgICAgIChXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU6OlNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnNldERPTUV4Y2VwdGlvbik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OnRocm93RXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6dGhyb3dUeXBlRXJyb3Ip
OgorICAgICAgICAoV2ViQ29yZTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcik6CisgICAg
ICAgICogYmluZGluZ3MvdjgvVjhCaW5kaW5nLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OnRvVjhTZXF1ZW5jZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhDb2xs
ZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvT3B0aW9uc0NvbGxlY3Rpb25TZXR0ZXIp
OgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4TlBPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6bnBPYmplY3RJbnZva2VJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Om5wT2JqZWN0R2V0UHJv
cGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6bnBPYmplY3RTZXRQcm9wZXJ0eSk6CisgICAgICAg
IChXZWJDb3JlOjpucE9iamVjdFByb3BlcnR5RW51bWVyYXRvcik6CisgICAgICAgICogYmluZGlu
Z3MvdjgvVjhOb2RlRmlsdGVyQ29uZGl0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4Tm9k
ZUZpbHRlckNvbmRpdGlvbjo6YWNjZXB0Tm9kZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhQ
cm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpoYW5kbGVNYXhSZWN1cnNpb25EZXB0aEV4Y2Vl
ZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlY4UHJveHk6OmNoZWNrTmV3TGVnYWwpOgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L1Y4UHJveHkuaDoKKyAgICAgICAgKFY4UHJveHkpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhUaHJvd0V4Y2VwdGlvbi5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpET01FeGNlcHRpb25T
dGFja0dldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpET01FeGNlcHRpb25TdGFja1NldHRlcik6
CisgICAgICAgIChXZWJDb3JlOjpWOFRocm93RXhjZXB0aW9uOjpzZXRET01FeGNlcHRpb24pOgor
ICAgICAgICAoV2ViQ29yZTo6VjhUaHJvd0V4Y2VwdGlvbjo6dGhyb3dFcnJvcik6CisgICAgICAg
IChXZWJDb3JlOjpWOFRocm93RXhjZXB0aW9uOjp0aHJvd1R5cGVFcnJvcik6CisgICAgICAgIChX
ZWJDb3JlOjpWOFRocm93RXhjZXB0aW9uOjp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFRocm93RXhjZXB0aW9uLmg6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChWOFRocm93RXhjZXB0aW9uKToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9WOFV0aWxpdGllcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpleHRyYWN0VHJhbnNm
ZXJhYmxlcyk6CisgICAgICAgIChXZWJDb3JlOjpnZXRNZXNzYWdlUG9ydEFycmF5KToKKyAgICAg
ICAgKFdlYkNvcmU6OnNldFR5cGVNaXNtYXRjaEV4Y2VwdGlvbik6CisgICAgICAgICogYmluZGlu
Z3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6ZXZhbHVhdGUpOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlY4QXJyYXlCdWZmZXI6OmNvbnN0cnVjdG9yQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbS5oOgorICAgICAgICAoV2ViQ29yZTo6
Y29uc3RydWN0V2ViR0xBcnJheVdpdGhBcnJheUJ1ZmZlckFyZ3VtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OmNvbnN0cnVjdFdlYkdMQXJyYXkpOgorICAgICAgICAoV2ViQ29yZTo6c2V0V2ViR0xB
cnJheUhlbHBlcik6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXVkaW9CdWZmZXJT
b3VyY2VOb2RlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4QXVkaW9CdWZmZXJTb3Vy
Y2VOb2RlOjpidWZmZXJBY2Nlc3NvclNldHRlcik6CisgICAgICAgICogYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4QXVkaW9Db250ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4QXVkaW9D
b250ZXh0Ojpjb25zdHJ1Y3RvckNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0
b20vVjhCbG9iQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4QmxvYjo6Y29uc3RydWN0
b3JDYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5bGVEZWNs
YXJhdGlvbkN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOENTU1N0eWxlRGVjbGFyYXRp
b246Om5hbWVkUHJvcGVydHlTZXR0ZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OENsaXBib2FyZEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOENsaXBib2FyZDo6Y2xl
YXJEYXRhQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhDbGlwYm9hcmQ6OnNldERyYWdJ
bWFnZUNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0
YUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERPTUZvcm1EYXRhOjpjb25zdHJ1Y3Rv
ckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NRm9ybURhdGE6OmFwcGVuZENhbGxi
YWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhET01TdHJpbmdNYXA6Om5hbWVkUHJvcGVydHlTZXR0
ZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXaW5kb3dTZXRUaW1lb3V0SW1wbCk6CisgICAgICAgIChXZWJD
b3JlOjpoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhEYXRhVmlld0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERhdGFWaWV3
Ojpjb25zdHJ1Y3RvckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RGF0YVZpZXc6Omdl
dEludDhDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOERhdGFWaWV3OjpnZXRVaW50OENh
bGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RGF0YVZpZXc6OnNldEludDhDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpWOERhdGFWaWV3OjpzZXRVaW50OENhbGxiYWNrKToKKyAgICAg
ICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2spOgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlY4RGlyZWN0b3J5RW50cnk6OmdldERpcmVjdG9yeUNhbGxiYWNrKToKKyAg
ICAgICAgKFdlYkNvcmU6OlY4RGlyZWN0b3J5RW50cnk6OmdldEZpbGVDYWxsYmFjayk6CisgICAg
ICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlY4RGlyZWN0b3J5RW50cnlTeW5jOjpnZXREaXJlY3RvcnlDYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOERpcmVjdG9yeUVudHJ5U3luYzo6Z2V0RmlsZUNh
bGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhEb2N1bWVudEN1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpWOERvY3VtZW50OjpldmFsdWF0ZUNhbGxiYWNrKToKKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpWOEhUTUxDYW52YXNFbGVtZW50Ojp0b0RhdGFVUkxDYWxsYmFj
ayk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTERvY3VtZW50Q3VzdG9tLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlY4SFRNTERvY3VtZW50OjpvcGVuQ2FsbGJhY2spOgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxFbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlY4SFRNTEVsZW1lbnQ6Oml0ZW1WYWx1ZUFjY2Vzc29yU2V0dGVyKToKKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6djhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3JDYWxs
YmFjayk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTElucHV0RWxlbWVudEN1
c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOEhUTUxJbnB1dEVsZW1lbnQ6OnNlbGVjdGlv
blN0YXJ0QWNjZXNzb3JHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1MSW5wdXRFbGVt
ZW50OjpzZWxlY3Rpb25TdGFydEFjY2Vzc29yU2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4
SFRNTElucHV0RWxlbWVudDo6c2VsZWN0aW9uRW5kQWNjZXNzb3JHZXR0ZXIpOgorICAgICAgICAo
V2ViQ29yZTo6VjhIVE1MSW5wdXRFbGVtZW50OjpzZWxlY3Rpb25FbmRBY2Nlc3NvclNldHRlcik6
CisgICAgICAgIChXZWJDb3JlOjpWOEhUTUxJbnB1dEVsZW1lbnQ6OnNlbGVjdGlvbkRpcmVjdGlv
bkFjY2Vzc29yR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4SFRNTElucHV0RWxlbWVudDo6
c2VsZWN0aW9uRGlyZWN0aW9uQWNjZXNzb3JTZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VjhI
VE1MSW5wdXRFbGVtZW50OjpzZXRTZWxlY3Rpb25SYW5nZUNhbGxiYWNrKToKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9jdXN0b20vVjhIVE1MTWVkaWFFbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlY4SFRNTE1lZGlhRWxlbWVudDo6Y29udHJvbGxlckFjY2Vzc29yU2V0dGVyKToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0
b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1MT3B0aW9uc0NvbGxlY3Rpb246OmFkZENh
bGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4SFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpsZW5n
dGhBY2Nlc3NvclNldHRlcik6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SGlzdG9y
eUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOEhpc3Rvcnk6OnB1c2hTdGF0ZUNhbGxi
YWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4SGlzdG9yeTo6cmVwbGFjZVN0YXRlQ2FsbGJhY2sp
OgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOEluamVjdGVkU2NyaXB0SG9zdDo6aW5zcGVjdGVk
T2JqZWN0Q2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEludGVudENv
bnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4SW50ZW50Ojpjb25zdHJ1Y3RvckNh
bGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhMb2NhdGlvbkN1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpWOExvY2F0aW9uOjpwcm90b2NvbEFjY2Vzc29yU2V0dGVy
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlQ2hhbm5lbENvbnN0cnVj
dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4TWVzc2FnZUNoYW5uZWw6OmNvbnN0cnVjdG9y
Q2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VQb3J0Q3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2spOgor
ICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6VjhNdXRhdGlvbk9ic2VydmVyOjpjb25zdHJ1Y3RvckNhbGxi
YWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlY4Tm9kZTo6aW5zZXJ0QmVmb3JlQ2FsbGJhY2spOgorICAgICAgICAo
V2ViQ29yZTo6VjhOb2RlOjpyZXBsYWNlQ2hpbGRDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3Jl
OjpWOE5vZGU6OnJlbW92ZUNoaWxkQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhOb2Rl
OjphcHBlbmRDaGlsZENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhO
b3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhOb3RpZmlj
YXRpb25DZW50ZXI6OmNyZWF0ZUhUTUxOb3RpZmljYXRpb25DYWxsYmFjayk6CisgICAgICAgIChX
ZWJDb3JlOjpWOE5vdGlmaWNhdGlvbkNlbnRlcjo6Y3JlYXRlTm90aWZpY2F0aW9uQ2FsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6VjhOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNz
aW9uQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFJlc3VsdFNl
dFJvd0xpc3RDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhTUUxSZXN1bHRTZXRSb3dM
aXN0OjppdGVtQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRy
YW5zYWN0aW9uQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4U1FMVHJhbnNhY3Rpb246
OmV4ZWN1dGVTcWxDYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FM
VHJhbnNhY3Rpb25TeW5jQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4U1FMVHJhbnNh
Y3Rpb25TeW5jOjpleGVjdXRlU3FsQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOFNWR0xlbmd0aEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFNWR0xlbmd0
aDo6dmFsdWVBY2Nlc3NvckdldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpWOFNWR0xlbmd0aDo6
dmFsdWVBY2Nlc3NvclNldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpWOFNWR0xlbmd0aDo6Y29u
dmVydFRvU3BlY2lmaWVkVW5pdHNDYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4U3RvcmFnZUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzdG9yYWdlU2V0dGVy
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRD
dXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0T2JqZWN0UGFyYW1ldGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OlY4V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRBdHRhY2hlZFNoYWRlcnND
YWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0
RXh0ZW5zaW9uQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlckNhbGxiYWNrKToKKyAgICAg
ICAgKFdlYkNvcmU6OlY4V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRQYXJhbWV0ZXJDYWxsYmFj
ayk6CisgICAgICAgIChXZWJDb3JlOjpWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0UHJvZ3Jh
bVBhcmFtZXRlckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4V2ViR0xSZW5kZXJpbmdD
b250ZXh0OjpnZXRTaGFkZXJQYXJhbWV0ZXJDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpW
OFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0VW5pZm9ybUNhbGxiYWNrKToKKyAgICAgICAgKFdl
YkNvcmU6OnZlcnRleEF0dHJpYkFuZFVuaWZvcm1IZWxwZXJmKToKKyAgICAgICAgKFdlYkNvcmU6
OnVuaWZvcm1IZWxwZXJpKToKKyAgICAgICAgKFdlYkNvcmU6OnVuaWZvcm1NYXRyaXhIZWxwZXIp
OgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdFBvaW50Q29uc3RydWN0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhXZWJLaXRQb2ludDo6Y29uc3RydWN0b3JDYWxsYmFj
ayk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViU29ja2V0Q3VzdG9tLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlY4V2ViU29ja2V0Ojpjb25zdHJ1Y3RvckNhbGxiYWNrKToKKyAg
ICAgICAgKFdlYkNvcmU6OlY4V2ViU29ja2V0OjpzZW5kQ2FsbGJhY2spOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VjhXb3JrZXJDb250ZXh0OjppbXBvcnRTY3JpcHRzQ2FsbGJhY2spOgorICAgICAgICAq
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0
b20vVjhYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4
WE1MSHR0cFJlcXVlc3Q6OmNvbnN0cnVjdG9yQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlY4WE1MSHR0cFJlcXVlc3Q6OnJlc3BvbnNlVGV4dEFjY2Vzc29yR2V0dGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlY4WE1MSHR0cFJlcXVlc3Q6OnJlc3BvbnNlQWNjZXNzb3JHZXR0ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6VjhYTUxIdHRwUmVxdWVzdDo6b3BlbkNhbGxiYWNrKToKKyAgICAgICAg
KFdlYkNvcmU6OlY4WE1MSHR0cFJlcXVlc3Q6OnNlbmRDYWxsYmFjayk6CisKIDIwMTItMDgtMTIg
IFByYXZpbiBEICA8cHJhdmluZC4yazRAZ21haWwuY29tPgogCiAgICAgICAgIHRhYmxlIGNlbGwu
Y2VsbEluZGV4IHNob3VsZCByZXR1cm4gLTEgaWYgdGhlcmUgaXMgbm8gcGFyZW50IHRhYmxlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1Vz
ZVY4LmNtYWtlCmluZGV4IDYzODkwYWZlYmU2ZDA0OGRjNGYwYjM3ZDBmMzdjYTMwMGEzZGIxYzMu
LmRmOTFkZTQ1Y2JkZmU5ODE2MGI1OTM2NzBkOTg1MzQzYjRiNWIyYWEgMTAwNzU1Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtl
CkBAIC02NCw2ICs2NCw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRp
bmdzL3Y4L1Y4UGVySXNvbGF0ZURhdGEuY3BwCiAgICAgYmluZGluZ3MvdjgvVjhQcm94eS5jcHAK
ICAgICBiaW5kaW5ncy92OC9WOFJlY3Vyc2lvblNjb3BlLmNwcAorICAgIGJpbmRpbmdzL3Y4L1Y4
VGhyb3dFeGNlcHRpb24uY3BwCiAgICAgYmluZGluZ3MvdjgvVjhVdGlsaXRpZXMuY3BwCiAgICAg
YmluZGluZ3MvdjgvVjhWYWx1ZUNhY2hlLmNwcAogICAgIGJpbmRpbmdzL3Y4L1Y4V2luZG93RXJy
b3JIYW5kbGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDE4NDA0OWE1NTQ1OWE0YTQ0ZTA1YzMz
NjE5NWFkYjFiMjA5OTI5MDEuLjhkOWU3NDJiMDZjMzkzNjg5YThkYzYxOTM1ZDAwNWJhMjExY2Ux
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIyODAsNiArMjI4MCw4IEBACiAgICAgICAgICAgICAn
YmluZGluZ3MvdjgvVjhQcm94eS5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOFJlY3Vy
c2lvblNjb3BlLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvVjhSZWN1cnNpb25TY29w
ZS5oJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOFRocm93RXhjZXB0aW9uLmNwcCcsCisg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvVjhUaHJvd0V4Y2VwdGlvbi5oJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9WOFV0aWxpdGllcy5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L1Y4VXRpbGl0aWVzLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4VmFsdWVDYWNoZS5j
cHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yVjgucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JWOC5wbQppbmRleCAwYTlkOWQ3MmZjNDNjMTg5M2QxZWMwNjlhN2Y4MzFkYzAxMjMwYTVjLi4w
MGU0MzliYzIzZDZhNTNlZGRjOTZhNmFkMjYwN2E1ZDdjZDdjMDBmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtOTY1LDcg
Kzk2NSw3IEBAIEVORAogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICAk
bmF0aXZlVHlwZSB2ID0gJGdldHRlclN0cmluZztcbiIpOwogICAgICAgICB9CiAgICAgICAgIHB1
c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgaWYgKFVOTElLRUxZKGVjKSlcbiIpOwotICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9N
RXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7XG4iKTsKKyAgICAgICAgcHVzaChAaW1w
bENvbnRlbnREZWNscywgIiAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgaW5mby5H
ZXRJc29sYXRlKCkpO1xuIik7CiAKICAgICAgICAgaWYgKCRjb2RlR2VuZXJhdG9yLT5FeHRlbmRl
ZEF0dHJpYnV0ZUNvbnRhaW5zKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkNhbGxXaXRoIn0sICJTY3JpcHRTdGF0ZSIpKSB7CiAgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudERlY2xzLCAiICAgIGlmIChzdGF0ZS5oYWRFeGNlcHRpb24oKSlcbiIpOwpAQCAt
MTE0Nyw3ICsxMTQ3LDcgQEAgc3ViIEdlbmVyYXRlTm9ybWFsQXR0clNldHRlcgogICAgICAgICBt
eSAkYXJnVHlwZSA9IEdldFR5cGVGcm9tU2lnbmF0dXJlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSk7
CiAgICAgICAgIGlmIChJc1dyYXBwZXJUeXBlKCRhcmdUeXBlKSkgewogICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnREZWNscywgIiAgICBpZiAoIWlzVW5kZWZpbmVkT3JOdWxsKHZhbHVlKSAm
JiAhVjgke2FyZ1R5cGV9OjpIYXNJbnN0YW5jZSh2YWx1ZSkpIHtcbiIpOwotICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICAgICAgVjhQcm94eTo6dGhyb3dUeXBlRXJyb3Io
MCwgaW5mby5HZXRJc29sYXRlKCkpO1xuIik7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dERlY2xzLCAiICAgICAgICB0aHJvd1R5cGVFcnJvcigwLCBpbmZvLkdldElzb2xhdGUoKSk7XG4i
KTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgICAgIHJldHVybjtc
biIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICB9XG4iKTsKICAg
ICAgICAgfQpAQCAtMTE2NCw3ICsxMTY0LDcgQEAgRU5ECiAgICAgICAgICAgICBBZGRUb0ltcGxJ
bmNsdWRlcygiRXhjZXB0aW9uQ29kZS5oIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dERlY2xzLCAiICAgICRzdmdOYXRpdmVUeXBlKiB3cmFwcGVyID0gVjgke2ltcGxDbGFzc05hbWV9
Ojp0b05hdGl2ZShpbmZvLkhvbGRlcigpKTtcbiIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnREZWNscywgIiAgICBpZiAod3JhcHBlci0+aXNSZWFkT25seSgpKSB7XG4iKTsKLSAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgICAgIFY4UHJveHk6OnNldERPTUV4
Y2VwdGlvbihOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIsIGluZm8uR2V0SXNvbGF0ZSgpKTtc
biIpOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICAgICAgc2V0RE9N
RXhjZXB0aW9uKE5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUiwgaW5mby5HZXRJc29sYXRlKCkp
O1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgICAgICByZXR1
cm47XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgfVxuIik7
CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgICRzdmdXcmFwcGVkTmF0
aXZlVHlwZSYgaW1wSW5zdGFuY2UgPSB3cmFwcGVyLT5wcm9wZXJ0eVJlZmVyZW5jZSgpO1xuIik7
CkBAIC0xMjczLDcgKzEyNzMsNyBAQCBFTkQKIAogICAgIGlmICgkdXNlRXhjZXB0aW9ucykgewog
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgIGlmIChVTkxJS0VMWShlYykpXG4i
KTsKLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICAgICAgVjhQcm94eTo6c2V0
RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7XG4iKTsKKyAgICAgICAgcHVzaChA
aW1wbENvbnRlbnREZWNscywgIiAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElz
b2xhdGUoKSk7XG4iKTsKICAgICB9CiAKICAgICBpZiAoJGNvZGVHZW5lcmF0b3ItPkV4dGVuZGVk
QXR0cmlidXRlQ29udGFpbnMoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiQ2FsbFdpdGgifSwgIlNjcmlwdFN0YXRlIikpIHsKQEAgLTE0NDcsNyArMTQ0Nyw3IEBA
IEVORAogICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgICAgICByZXR1cm4gJHtu
YW1lfSRvdmVybG9hZC0+e292ZXJsb2FkSW5kZXh9Q2FsbGJhY2soYXJncyk7XG4iKTsKICAgICB9
CiAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgPDxFTkQpOwotICAgIHJldHVybiBWOFByb3h5
Ojp0aHJvd1R5cGVFcnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgcmV0dXJuIHRocm93
VHlwZUVycm9yKDAsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIEVORAogICAgIHB1c2goQGltcGxDb250
ZW50RGVjbHMsICJ9XG5cbiIpOwogICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIjZW5kaWYg
Ly8gJHtjb25kaXRpb25hbFN0cmluZ31cblxuIikgaWYgJGNvbmRpdGlvbmFsU3RyaW5nOwpAQCAt
MTUwOCw3ICsxNTA4LDcgQEAgRU5ECiAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiRXhj
ZXB0aW9uQ29kZS5oIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAg
ICRuYXRpdmVDbGFzc05hbWUgd3JhcHBlciA9IFY4JHtpbXBsQ2xhc3NOYW1lfTo6dG9OYXRpdmUo
YXJncy5Ib2xkZXIoKSk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMs
ICIgICAgaWYgKHdyYXBwZXItPmlzUmVhZE9ubHkoKSlcbiIpOwotICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnREZWNscywgIiAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlv
bihOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTtcbiIpOwor
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICAgICAgcmV0dXJuIHNldERP
TUV4Y2VwdGlvbihOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgp
KTtcbiIpOwogICAgICAgICAgICAgbXkgJHN2Z1dyYXBwZWROYXRpdmVUeXBlID0gJGNvZGVHZW5l
cmF0b3ItPkdldFNWR1dyYXBwZWRUeXBlTmVlZGluZ1RlYXJPZmYoJGltcGxDbGFzc05hbWUpOwog
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICAkc3ZnV3JhcHBlZE5hdGl2
ZVR5cGUmIGltcEluc3RhbmNlID0gd3JhcHBlci0+cHJvcGVydHlSZWZlcmVuY2UoKTtcbiIpOwog
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICAkc3ZnV3JhcHBlZE5hdGl2
ZVR5cGUqIGltcCA9ICZpbXBJbnN0YW5jZTtcbiIpOwpAQCAtMTU2NCw3ICsxNTY0LDcgQEAgRU5E
CiAgICAgaWYgKCRyYWlzZXNFeGNlcHRpb25zKSB7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50
RGVjbHMsICIgICAgfVxuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAg
ZmFpbDpcbiIpOwotICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgIHJldHVybiBW
OFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTtcbiIpOworICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgIHJldHVybiBzZXRET01FeGNlcHRpb24o
ZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTtcbiIpOwogICAgIH0KIAogICAgIHB1c2goQGltcGxDb250
ZW50RGVjbHMsICJ9XG5cbiIpOwpAQCAtMTYzNCw3ICsxNjM0LDcgQEAgc3ViIEdlbmVyYXRlQXJn
dW1lbnRzQ291bnRDaGVjawogICAgIG15ICRhcmd1bWVudHNDb3VudENoZWNrU3RyaW5nID0gIiI7
CiAgICAgaWYgKCRudW1NYW5kYXRvcnlQYXJhbXMgPj0gMSkgewogICAgICAgICAkYXJndW1lbnRz
Q291bnRDaGVja1N0cmluZyAuPSAiICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgJG51bU1hbmRhdG9y
eVBhcmFtcylcbiI7Ci0gICAgICAgICRhcmd1bWVudHNDb3VudENoZWNrU3RyaW5nIC49ICIgICAg
ICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0
SXNvbGF0ZSgpKTtcbiI7CisgICAgICAgICRhcmd1bWVudHNDb3VudENoZWNrU3RyaW5nIC49ICIg
ICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0
ZSgpKTtcbiI7CiAgICAgfQogICAgIHJldHVybiAkYXJndW1lbnRzQ291bnRDaGVja1N0cmluZzsK
IH0KQEAgLTE2OTgsMTIgKzE2OTgsMTIgQEAgc3ViIEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrCiAg
ICAgICAgICAgICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgUmVmUHRyPCIgLiAk
cGFyYW1ldGVyLT50eXBlIC4gIj4gJHBhcmFtZXRlck5hbWU7XG4iOwogICAgICAgICAgICAgICAg
ICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgIGlmIChhcmdzLkxlbmd0aCgpID4gJHBhcmFt
SW5kZXggJiYgIWFyZ3NbJHBhcmFtSW5kZXhdLT5Jc051bGwoKSAmJiAhYXJnc1skcGFyYW1JbmRl
eF0tPklzVW5kZWZpbmVkKCkpIHtcbiI7CiAgICAgICAgICAgICAgICAgJHBhcmFtZXRlckNoZWNr
U3RyaW5nIC49ICIgICAgICAgIGlmICghYXJnc1skcGFyYW1JbmRleF0tPklzRnVuY3Rpb24oKSlc
biI7Ci0gICAgICAgICAgICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgICAgICAg
ICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdz
LkdldElzb2xhdGUoKSk7XG4iOworICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmlu
ZyAuPSAiICAgICAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENIX0VS
UiwgYXJncy5HZXRJc29sYXRlKCkpO1xuIjsKICAgICAgICAgICAgICAgICAkcGFyYW1ldGVyQ2hl
Y2tTdHJpbmcgLj0gIiAgICAgICAgJHBhcmFtZXRlck5hbWUgPSAke2NsYXNzTmFtZX06OmNyZWF0
ZShhcmdzWyRwYXJhbUluZGV4XSwgZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTtcbiI7CiAg
ICAgICAgICAgICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgfVxuIjsKICAgICAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49
ICIgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPD0gJHBhcmFtSW5kZXggfHwgIWFyZ3NbJHBhcmFtSW5k
ZXhdLT5Jc0Z1bmN0aW9uKCkpXG4iOwotICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0
cmluZyAuPSAiICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlT
TUFUQ0hfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7XG4iOworICAgICAgICAgICAgICAgICRwYXJh
bWV0ZXJDaGVja1N0cmluZyAuPSAiICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKFRZUEVf
TUlTTUFUQ0hfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7XG4iOwogICAgICAgICAgICAgICAgICRw
YXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgIFJlZlB0cjwiIC4gJHBhcmFtZXRlci0+dHlwZSAu
ICI+ICRwYXJhbWV0ZXJOYW1lID0gJHtjbGFzc05hbWV9OjpjcmVhdGUoYXJnc1skcGFyYW1JbmRl
eF0sIGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7XG4iOwogICAgICAgICAgICAgfQogICAg
ICAgICB9IGVsc2lmICgkcGFyYW1ldGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2xhbXAifSkg
ewpAQCAtMTczOCw3ICsxNzM4LDcgQEAgc3ViIEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrCiAgICAg
ICAgICAgICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgQXJyYXlCdWZmZXJBcnJh
eSBhcnJheUJ1ZmZlckFycmF5JFRyYW5zZmVyTGlzdE5hbWU7XG4iOwogICAgICAgICAgICAgICAg
ICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgIGlmIChhcmdzLkxlbmd0aCgpID4gJHRyYW5z
ZmVyTGlzdEluZGV4KSB7XG4iOwogICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmlu
ZyAuPSAiICAgICAgICBpZiAoIWV4dHJhY3RUcmFuc2ZlcmFibGVzKGFyZ3NbJHRyYW5zZmVyTGlz
dEluZGV4XSwgbWVzc2FnZVBvcnRBcnJheSRUcmFuc2Zlckxpc3ROYW1lLCBhcnJheUJ1ZmZlckFy
cmF5JFRyYW5zZmVyTGlzdE5hbWUsIGFyZ3MuR2V0SXNvbGF0ZSgpKSlcbiI7Ci0gICAgICAgICAg
ICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgICAgICAgICByZXR1cm4gVjhQcm94
eTo6dGhyb3dUeXBlRXJyb3IoXCJDb3VsZCBub3QgZXh0cmFjdCB0cmFuc2ZlcmFibGVzXCIpO1xu
IjsKKyAgICAgICAgICAgICAgICAkcGFyYW1ldGVyQ2hlY2tTdHJpbmcgLj0gIiAgICAgICAgICAg
IHJldHVybiB0aHJvd1R5cGVFcnJvcihcIkNvdWxkIG5vdCBleHRyYWN0IHRyYW5zZmVyYWJsZXNc
Iik7XG4iOwogICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgIH1c
biI7CiAgICAgICAgICAgICAgICAgJHVzZVRyYW5zZmVyTGlzdCA9IDE7CiAgICAgICAgICAgICB9
CkBAIC0xNzcyLDE0ICsxNzcyLDE0IEBAIHN1YiBHZW5lcmF0ZVBhcmFtZXRlcnNDaGVjawogICAg
ICAgICAgICAgICAgIG15ICRhcmdUeXBlID0gR2V0VHlwZUZyb21TaWduYXR1cmUoJHBhcmFtZXRl
cik7CiAgICAgICAgICAgICAgICAgaWYgKElzV3JhcHBlclR5cGUoJGFyZ1R5cGUpKSB7CiAgICAg
ICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgIGlmIChhcmdzLkxl
bmd0aCgpID4gJHBhcmFtSW5kZXggJiYgIWlzVW5kZWZpbmVkT3JOdWxsKCRhcmdWYWx1ZSkgJiYg
IVY4JHthcmdUeXBlfTo6SGFzSW5zdGFuY2UoJGFyZ1ZhbHVlKSlcbiI7Ci0gICAgICAgICAgICAg
ICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgICAgICByZXR1cm4gVjhQcm94eTo6
dGhyb3dUeXBlRXJyb3IoMCwgYXJncy5HZXRJc29sYXRlKCkpO1xuIjsKKyAgICAgICAgICAgICAg
ICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgICAgIHJldHVybiB0aHJvd1R5cGVF
cnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7XG4iOwogICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgIEVYQ0VQ
VElPTl9CTE9DSygkbmF0aXZlVHlwZSwgJHBhcmFtZXRlck5hbWUsICIgLgogICAgICAgICAgICAg
ICAgICBKU1ZhbHVlVG9OYXRpdmUoJHBhcmFtZXRlciwgIk1BWUJFX01JU1NJTkdfUEFSQU1FVEVS
KGFyZ3MsICRwYXJhbUluZGV4LCAkcGFyYW1ldGVyRGVmYXVsdFBvbGljeSkiLCAiYXJncy5HZXRJ
c29sYXRlKCkiKSAuICIpO1xuIjsKICAgICAgICAgICAgIGlmICgkbmF0aXZlVHlwZSBlcSAnRGlj
dGlvbmFyeScpIHsKICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAg
IGlmICghJHBhcmFtZXRlck5hbWUuaXNVbmRlZmluZWRPck51bGwoKSAmJiAhJHBhcmFtZXRlck5h
bWUuaXNPYmplY3QoKSlcbiI7Ci0gICAgICAgICAgICAgICAkcGFyYW1ldGVyQ2hlY2tTdHJpbmcg
Lj0gIiAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKFwiTm90IGFuIG9iamVj
dC5cIiwgYXJncy5HZXRJc29sYXRlKCkpO1xuIjsKKyAgICAgICAgICAgICAgICRwYXJhbWV0ZXJD
aGVja1N0cmluZyAuPSAiICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoXCJOb3QgYW4gb2Jq
ZWN0LlwiLCBhcmdzLkdldElzb2xhdGUoKSk7XG4iOwogICAgICAgICAgICAgfQogICAgICAgICB9
CiAKQEAgLTE4MjEsNyArMTgyMSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOCR7aW1wbENs
YXNzTmFtZX06OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50CiAgICAgSU5D
X1NUQVRTKCJET00uJHtpbXBsQ2xhc3NOYW1lfS5Db25zdHJ1Y3RvciIpOwogCiAgICAgaWYgKCFh
cmdzLklzQ29uc3RydWN0Q2FsbCgpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBl
RXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0
aW9uLiIpOworICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkRPTSBvYmplY3QgY29uc3Ry
dWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIpOwogCiAgICAgaWYgKENvbnN0
cnVjdG9yTW9kZTo6Y3VycmVudCgpID09IENvbnN0cnVjdG9yTW9kZTo6V3JhcEV4aXN0aW5nT2Jq
ZWN0KQogICAgICAgICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKQEAgLTE4NDYsNyArMTg0Niw3IEBA
IEVORAogCiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9IGdldFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKTsKICAgICBpZiAoIWNvbnRleHQpCi0gICAgICAgIHJldHVybiBWOFBy
b3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJlZmVyZW5jZUVycm9yLCAiJHtpbXBsQ2xhc3NOYW1l
fSBjb25zdHJ1Y3RvcidzIGFzc29jaWF0ZWQgY29udGV4dCBpcyBub3QgYXZhaWxhYmxlIiwgYXJn
cy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihSZWZlcmVuY2VFcnJv
ciwgIiR7aW1wbENsYXNzTmFtZX0gY29uc3RydWN0b3IncyBhc3NvY2lhdGVkIGNvbnRleHQgaXMg
bm90IGF2YWlsYWJsZSIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIEVORAogICAgIH0KIApAQCAtMTg4
Niw3ICsxODg2LDcgQEAgRU5ECiAKICAgICBpZiAoJHJhaXNlc0V4Y2VwdGlvbnMpIHsKICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgIGZhaWw6XG4iKTsKLSAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJ
c29sYXRlKCkpO1xuIik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiBz
ZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTtcbiIpOwogICAgIH0KIAogICAg
IHB1c2goQGltcGxDb250ZW50LCAifVxuIik7CkBAIC0xOTA1LDEzICsxOTA1LDEzIEBAIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOCR7aW1wbENsYXNzTmFtZX06OmNvbnN0cnVjdG9yQ2FsbGJhY2so
Y29uc3Qgdjg6OkFyZ3VtZW50CiAgICAgSU5DX1NUQVRTKCJET00uJHtpbXBsQ2xhc3NOYW1lfS5D
b25zdHJ1Y3RvciIpOwogCiAgICAgaWYgKCFhcmdzLklzQ29uc3RydWN0Q2FsbCgpKQotICAgICAg
ICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3Ig
Y2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIpOworICAgICAgICByZXR1cm4gdGhyb3dU
eXBlRXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1
bmN0aW9uLiIpOwogCiAgICAgaWYgKENvbnN0cnVjdG9yTW9kZTo6Y3VycmVudCgpID09IENvbnN0
cnVjdG9yTW9kZTo6V3JhcEV4aXN0aW5nT2JqZWN0KQogICAgICAgICByZXR1cm4gYXJncy5Ib2xk
ZXIoKTsKIAogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJv
eHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAg
ICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUo
KSk7CiAKICAgICBTVFJJTkdfVE9fVjhQQVJBTUVURVJfRVhDRVBUSU9OX0JMT0NLKFY4UGFyYW1l
dGVyPD4sIHR5cGUsIGFyZ3NbMF0pOwogICAgICR7aW1wbENsYXNzTmFtZX1Jbml0IGV2ZW50SW5p
dDsKQEAgLTIwMTQsMTQgKzIwMTQsMTQgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OCR7aW1wbENsYXNzTmFtZX1Db25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmcKICAgICBJ
TkNfU1RBVFMoIkRPTS4ke2ltcGxDbGFzc05hbWV9LkNvbnN0cnVjdG9yIik7CiAKICAgICBpZiAo
IWFyZ3MuSXNDb25zdHJ1Y3RDYWxsKCkpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5
cGVFcnJvcigiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVu
Y3Rpb24uIik7CisgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigiRE9NIG9iamVjdCBjb25z
dHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIik7CiAKICAgICBpZiAoQ29u
c3RydWN0b3JNb2RlOjpjdXJyZW50KCkgPT0gQ29uc3RydWN0b3JNb2RlOjpXcmFwRXhpc3RpbmdP
YmplY3QpCiAgICAgICAgIHJldHVybiBhcmdzLkhvbGRlcigpOwogCiAgICAgRnJhbWUqIGZyYW1l
ID0gY3VycmVudEZyYW1lKEJpbmRpbmdTdGF0ZTo6aW5zdGFuY2UoKSk7CiAgICAgaWYgKCFmcmFt
ZSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6UmVmZXJlbmNl
RXJyb3IsICIke2ltcGxDbGFzc05hbWV9IGNvbnN0cnVjdG9yIGFzc29jaWF0ZWQgZnJhbWUgaXMg
dW5hdmFpbGFibGUiLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd0Vy
cm9yKFJlZmVyZW5jZUVycm9yLCAiJHtpbXBsQ2xhc3NOYW1lfSBjb25zdHJ1Y3RvciBhc3NvY2lh
dGVkIGZyYW1lIGlzIHVuYXZhaWxhYmxlIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgRG9j
dW1lbnQqIGRvY3VtZW50ID0gZnJhbWUtPmRvY3VtZW50KCk7CiAKQEAgLTIwODAsNyArMjA4MCw3
IEBAIEVORAogCiAgICAgaWYgKCRyYWlzZXNFeGNlcHRpb25zKSB7CiAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICBmYWlsOlxuIik7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAg
IHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTtc
biIpOworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gc2V0RE9NRXhjZXB0
aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7XG4iKTsKICAgICB9CiAKICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIn1cbiIpOwpAQCAtMzUzNSw3ICszNTM1LDcgQEAgc3ViIEdlbmVyYXRlRnVuY3Rp
b25DYWxsU3RyaW5nKCkKICAgICAgICAgfSBlbHNpZiAoJGNvZGVHZW5lcmF0b3ItPklzU1ZHVHlw
ZU5lZWRpbmdUZWFyT2ZmKCRwYXJhbWV0ZXItPnR5cGUpIGFuZCBub3QgJGltcGxDbGFzc05hbWUg
PX4gL0xpc3QkLykgewogICAgICAgICAgICAgcHVzaCBAYXJndW1lbnRzLCAiJHBhcmFtTmFtZS0+
cHJvcGVydHlSZWZlcmVuY2UoKSI7CiAgICAgICAgICAgICAkcmVzdWx0IC49ICRpbmRlbnQgLiAi
aWYgKCEkcGFyYW1OYW1lKVxuIjsKLSAgICAgICAgICAgICRyZXN1bHQgLj0gJGluZGVudCAuICIg
ICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihXZWJDb3JlOjpUWVBFX01JU01BVENI
X0VSUiwgYXJncy5HZXRJc29sYXRlKCkpO1xuIjsKKyAgICAgICAgICAgICRyZXN1bHQgLj0gJGlu
ZGVudCAuICIgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihXZWJDb3JlOjpUWVBFX01JU01BVENI
X0VSUiwgYXJncy5HZXRJc29sYXRlKCkpO1xuIjsKICAgICAgICAgfSBlbHNpZiAoJHBhcmFtZXRl
ci0+dHlwZSBlcSAiU1ZHTWF0cml4IiBhbmQgJGltcGxDbGFzc05hbWUgZXEgIlNWR1RyYW5zZm9y
bUxpc3QiKSB7CiAgICAgICAgICAgICBwdXNoIEBhcmd1bWVudHMsICIkcGFyYW1OYW1lLmdldCgp
IjsKICAgICAgICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuY3BwCmluZGV4IDdkNGQ3NTEzMjc4
YzdmZjkwYmZjZGUzNGI2ODI1ODJmODcyY2E5NWEuLjY0NTRhOTZmZTg3NDg5YjMxMGQ1MTgxMmVm
ZWMwODc1YTFiYzM2OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcApAQCAtNTMsNyArNTMsNyBAQCBz
dGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGZvb0NhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVu
dHMmIGFyZ3MpCiB7CiAgICAgSU5DX1NUQVRTKCJET00uRmxvYXQ2NEFycmF5LmZvbyIpOwogICAg
IGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90
RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4g
dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgRmxv
YXQ2NEFycmF5KiBpbXAgPSBWOEZsb2F0NjRBcnJheTo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7
CiAgICAgRVhDRVBUSU9OX0JMT0NLKEZsb2F0MzJBcnJheSosIGFycmF5LCBWOEZsb2F0MzJBcnJh
eTo6SGFzSW5zdGFuY2UoTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElz
VW5kZWZpbmVkKSkgPyBWOEZsb2F0MzJBcnJheTo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0Pjo6Q2FzdChNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRl
ZmluZWQpKSkgOiAwKTsKICAgICByZXR1cm4gdG9WOChpbXAtPmZvbyhhcnJheSksIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKaW5kZXggNGY4Yjg0
NTM1ZTJiYTkxMzMxYzBiN2VhYzg3ZGQ2M2Q3MjkyNmY4NC4uODg2Nzk4NDFlZjg3MjVjY2Y0OTUx
YWNkNGU2ODRiY2IyZWE5ZTNmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAK
QEAgLTUyLDcgKzUyLDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBleGNpdGluZ0Z1
bmN0aW9uQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBJTkNfU1RB
VFMoIkRPTS5UZXN0QWN0aXZlRE9NT2JqZWN0LmV4Y2l0aW5nRnVuY3Rpb24iKTsKICAgICBpZiAo
YXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3Vn
aEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93
Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogICAgIFRlc3RBY3Rp
dmVET01PYmplY3QqIGltcCA9IFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6dG9OYXRpdmUoYXJncy5I
b2xkZXIoKSk7CiAgICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9G
cmFtZShCaW5kaW5nU3RhdGU6Omluc3RhbmNlKCksIGltcC0+ZnJhbWUoKSkpCiAgICAgICAgIHJl
dHVybiB2OFVuZGVmaW5lZCgpOwpAQCAtNjUsNyArNjUsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IHBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykK
IHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0QWN0aXZlRE9NT2JqZWN0LnBvc3RNZXNzYWdlIik7
CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhy
b3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJl
dHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAg
ICBUZXN0QWN0aXZlRE9NT2JqZWN0KiBpbXAgPSBWOFRlc3RBY3RpdmVET01PYmplY3Q6OnRvTmF0
aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIFNUUklOR19UT19WOFBBUkFNRVRFUl9FWENFUFRJT05f
QkxPQ0soVjhQYXJhbWV0ZXI8PiwgbWVzc2FnZSwgTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJn
cywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSk7CiAgICAgaW1wLT5wb3N0TWVzc2FnZShtZXNzYWdl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RDdXN0b21OYW1lZEdldHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCmluZGV4IGZlY2M0MGM4NmI3
NzUyZjVjOTQ0Zjc4OTFlZDg2OGUwZjU0MjBlNTQuLjg4OGNhZTgzMmRiYzAxNjhlYWFkMzY2ZTUy
NGI1NzJhNjg5ZjNkOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcApA
QCAtNDMsNyArNDMsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFub3RoZXJGdW5j
dGlvbkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7CiAgICAgSU5DX1NUQVRT
KCJET00uVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmFub3RoZXJGdW5jdGlvbiIpOwogICAgIGlmIChh
cmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdo
QXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dO
b3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgVGVzdEN1c3Rv
bU5hbWVkR2V0dGVyKiBpbXAgPSBWOFRlc3RDdXN0b21OYW1lZEdldHRlcjo6dG9OYXRpdmUoYXJn
cy5Ib2xkZXIoKSk7CiAgICAgU1RSSU5HX1RPX1Y4UEFSQU1FVEVSX0VYQ0VQVElPTl9CTE9DSyhW
OFBhcmFtZXRlcjw+LCBzdHIsIE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDAsIERlZmF1
bHRJc1VuZGVmaW5lZCkpOwogICAgIGltcC0+YW5vdGhlckZ1bmN0aW9uKHN0cik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRD
b25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNmU3NTVhN2NkYjRiNzQwYmE1MmEzNGM3
ZGJmZjU5MDU2YzIwY2YzZi4uMjM3NjkxM2E5YTE0ZjkxZGU1Yzc4Mjc3YWRiNTdlZTdmZTEzZTRk
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmNwcApAQCAtNjcsMTMgKzY3LDEz
IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFRlc3RFdmVudENvbnN0cnVjdG9yOjpjb25zdHJ1
Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdEV2ZW50
Q29uc3RydWN0b3IuQ29uc3RydWN0b3IiKTsKIAogICAgIGlmICghYXJncy5Jc0NvbnN0cnVjdENh
bGwoKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJET00gb2JqZWN0
IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4iKTsKKyAgICAgICAg
cmV0dXJuIHRocm93VHlwZUVycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBj
YWxsZWQgYXMgYSBmdW5jdGlvbi4iKTsKIAogICAgIGlmIChDb25zdHJ1Y3Rvck1vZGU6OmN1cnJl
bnQoKSA9PSBDb25zdHJ1Y3Rvck1vZGU6OldyYXBFeGlzdGluZ09iamVjdCkKICAgICAgICAgcmV0
dXJuIGFyZ3MuSG9sZGVyKCk7CiAKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAg
IHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJn
cy5HZXRJc29sYXRlKCkpOwogCiAgICAgU1RSSU5HX1RPX1Y4UEFSQU1FVEVSX0VYQ0VQVElPTl9C
TE9DSyhWOFBhcmFtZXRlcjw+LCB0eXBlLCBhcmdzWzBdKTsKICAgICBUZXN0RXZlbnRDb25zdHJ1
Y3RvckluaXQgZXZlbnRJbml0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5jcHAKaW5kZXggODdlZWE4
YmYwZWJiY2RhOTMxYzRjZmJmODYyODEwNDYxYTYwZGMzNC4uYWMzNWQ2MjI4MWYxZWRiY2I2ZmY2
ZTBhODQ2NDhiM2E3NzlkMTkxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwCkBAIC00Niw3
ICs0Niw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gaXRlbUNhbGxiYWNrKGNvbnN0
IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdEV2ZW50VGFy
Z2V0Lml0ZW0iKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVybiBW
OFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsK
KyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29s
YXRlKCkpOwogICAgIFRlc3RFdmVudFRhcmdldCogaW1wID0gVjhUZXN0RXZlbnRUYXJnZXQ6OnRv
TmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIHsK
QEAgLTU4LDcgKzU4LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBpdGVtQ2FsbGJh
Y2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICByZXR1cm4gdG9WOChpbXAtPml0ZW0o
aW5kZXgpLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgfQogICAgIGZhaWw6Ci0gICAgcmV0dXJu
IFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgIHJl
dHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIH0KIAogc3RhdGlj
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhZGRFdmVudExpc3RlbmVyQ2FsbGJhY2soY29uc3Qgdjg6
OkFyZ3VtZW50cyYgYXJncykKQEAgLTg3LDcgKzg3LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiBkaXNwYXRjaEV2ZW50Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykK
IHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0RXZlbnRUYXJnZXQuZGlzcGF0Y2hFdmVudCIpOwog
ICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93
Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1
cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAgICAg
VGVzdEV2ZW50VGFyZ2V0KiBpbXAgPSBWOFRlc3RFdmVudFRhcmdldDo6dG9OYXRpdmUoYXJncy5I
b2xkZXIoKSk7CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgewpAQCAtOTgsNyArOTgs
NyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGRpc3BhdGNoRXZlbnRDYWxsYmFjayhj
b25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIHJldHVybiB2OEJvb2xlYW4ocmVzdWx0LCBh
cmdzLkdldElzb2xhdGUoKSk7CiAgICAgfQogICAgIGZhaWw6Ci0gICAgcmV0dXJuIFY4UHJveHk6
OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgIHJldHVybiBzZXRE
T01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
VGVzdEV2ZW50VGFyZ2V0VjhJbnRlcm5hbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcAppbmRleCA0N2U0
MjI4NDAyZGY4NGJhNzEzNTM3ZTY4NWQwMjE4NGRiMzBhZWMzLi5jNjkzNGQ3YzRhMzUwMjAxMzI4
MGZlYzc3M2Q1MzVmYzEzNGJhN2VmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcApAQCAtMTU2LDcg
KzE1Niw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gc3VwcGxlbWVudGFsTWV0aG9k
MkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyCiB7CiAgICAgSU5DX1NUQVRTKCJET00u
VGVzdEludGVyZmFjZS5zdXBwbGVtZW50YWxNZXRob2QyIik7CiAgICAgaWYgKGFyZ3MuTGVuZ3Ro
KCkgPCAyKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNF
cnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFy
Z3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBUZXN0SW50ZXJmYWNlKiBpbXAg
PSBWOFRlc3RJbnRlcmZhY2U6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIEV4Y2VwdGlv
bkNvZGUgZWMgPSAwOwogICAgIHsKQEAgLTE3MSw3ICsxNzEsNyBAQCBzdGF0aWMgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHN1cHBsZW1lbnRhbE1ldGhvZDJDYWxsYmFjayhjb25zdCB2ODo6QXJndW1l
bnRzJiBhcgogICAgIHJldHVybiB0b1Y4KHJlc3VsdC5yZWxlYXNlKCksIGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKICAgICB9CiAgICAgZmFpbDoKLSAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0
aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihl
YywgYXJncy5HZXRJc29sYXRlKCkpOwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKENvbmRpdGlvbjEx
KSB8fCBFTkFCTEUoQ29uZGl0aW9uMTIpCkBAIC0yNDcsMTIgKzI0NywxMiBAQCB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gVjhUZXN0SW50ZXJmYWNlOjpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4
OjpBcmd1bWVudHMmCiAgICAgSU5DX1NUQVRTKCJET00uVGVzdEludGVyZmFjZS5Db25zdHJ1Y3Rv
ciIpOwogCiAgICAgaWYgKCFhcmdzLklzQ29uc3RydWN0Q2FsbCgpKQotICAgICAgICByZXR1cm4g
VjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJl
IGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIpOworICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3Io
IkRPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIp
OwogCiAgICAgaWYgKENvbnN0cnVjdG9yTW9kZTo6Y3VycmVudCgpID09IENvbnN0cnVjdG9yTW9k
ZTo6V3JhcEV4aXN0aW5nT2JqZWN0KQogICAgICAgICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKICAg
ICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05v
dEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJu
IHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAg
RXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgU1RSSU5HX1RPX1Y4UEFSQU1FVEVSX0VYQ0VQVElP
Tl9CTE9DSyhWOFBhcmFtZXRlcjw+LCBzdHIxLCBNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdz
LCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKTsKQEAgLTI2MCw3ICsyNjAsNyBAQCB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gVjhUZXN0SW50ZXJmYWNlOjpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4
OjpBcmd1bWVudHMmCiAKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0ID0gZ2V0
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwogICAgIGlmICghY29udGV4dCkKLSAgICAgICAgcmV0
dXJuIFY4UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6UmVmZXJlbmNlRXJyb3IsICJUZXN0SW50
ZXJmYWNlIGNvbnN0cnVjdG9yJ3MgYXNzb2NpYXRlZCBjb250ZXh0IGlzIG5vdCBhdmFpbGFibGUi
LCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFJlZmVyZW5j
ZUVycm9yLCAiVGVzdEludGVyZmFjZSBjb25zdHJ1Y3RvcidzIGFzc29jaWF0ZWQgY29udGV4dCBp
cyBub3QgYXZhaWxhYmxlIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgUmVmUHRyPFRlc3RJ
bnRlcmZhY2U+IGltcGwgPSBUZXN0SW50ZXJmYWNlOjpjcmVhdGUoY29udGV4dCwgc3RyMSwgc3Ry
MiwgZWMpOwogICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IGFyZ3MuSG9sZGVy
KCk7CkBAIC0yNzEsNyArMjcxLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4VGVzdEludGVy
ZmFjZTo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJgogICAgIFY4RE9N
V3JhcHBlcjo6c2V0SlNXcmFwcGVyRm9yQWN0aXZlRE9NT2JqZWN0KGltcGwucmVsZWFzZSgpLCB3
cmFwcGVyLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHdyYXBwZXI7CiAgIGZhaWw6
Ci0gICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRl
KCkpOworICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsK
IH0KIAogc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBDb25maWd1
cmVWOFRlc3RJbnRlcmZhY2VUZW1wbGF0ZSh2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1w
bGF0ZT4gZGVzYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNw
cAppbmRleCAyNjVmMzA4NzkwMDIxZGY1Njk1YzU3MDAwNjE5OTkzZDhkYmU4MjgxLi40ZDNkOTVi
ZTBiNzAyNjk0M2UyOTZjNDE0MGZkODgxZmQxNTBiZmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCkBAIC00NCw3ICs0NCw3IEBAIHN0YXRpYyB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gbWV0aG9kQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJn
cykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5tZXRo
b2QiKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVybiBWOFByb3h5
Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAg
ICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkp
OwogICAgIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBpbXAgPSBWOFRlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBFWENFUFRJT05fQkxP
Q0soUmVmUHRyPE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+LCBsaXN0ZW5lciwgTWVkaWFRdWVyeUxp
c3RMaXN0ZW5lcjo6Y3JlYXRlKE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDAsIERlZmF1
bHRJc1VuZGVmaW5lZCkpKTsKICAgICBpbXAtPm1ldGhvZChsaXN0ZW5lcik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25z
dHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNmU3YzZlMjZiOTRhMTA4ZmJiZDRiMGQwZmU0
MmQ4MTQ2MDQ2NzljYi4uNmY4ZDM1NjRiYTYxNmE0ZTA5NDBkODkzOTIzZDIyZTk1YzgwMjI5ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dE5hbWVkQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmNwcApAQCAtNDksMTQgKzQ5LDE0IEBA
IHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0
cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE5hbWVkQ29u
c3RydWN0b3IuQ29uc3RydWN0b3IiKTsKIAogICAgIGlmICghYXJncy5Jc0NvbnN0cnVjdENhbGwo
KSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJET00gb2JqZWN0IGNv
bnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4iKTsKKyAgICAgICAgcmV0
dXJuIHRocm93VHlwZUVycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxs
ZWQgYXMgYSBmdW5jdGlvbi4iKTsKIAogICAgIGlmIChDb25zdHJ1Y3Rvck1vZGU6OmN1cnJlbnQo
KSA9PSBDb25zdHJ1Y3Rvck1vZGU6OldyYXBFeGlzdGluZ09iamVjdCkKICAgICAgICAgcmV0dXJu
IGFyZ3MuSG9sZGVyKCk7CiAKICAgICBGcmFtZSogZnJhbWUgPSBjdXJyZW50RnJhbWUoQmluZGlu
Z1N0YXRlOjppbnN0YW5jZSgpKTsKICAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4gVjhQ
cm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpSZWZlcmVuY2VFcnJvciwgIlRlc3ROYW1lZENvbnN0
cnVjdG9yIGNvbnN0cnVjdG9yIGFzc29jaWF0ZWQgZnJhbWUgaXMgdW5hdmFpbGFibGUiLCBhcmdz
LkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFJlZmVyZW5jZUVycm9y
LCAiVGVzdE5hbWVkQ29uc3RydWN0b3IgY29uc3RydWN0b3IgYXNzb2NpYXRlZCBmcmFtZSBpcyB1
bmF2YWlsYWJsZSIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIERvY3VtZW50KiBkb2N1bWVu
dCA9IGZyYW1lLT5kb2N1bWVudCgpOwogCkBAIC02NSw3ICs2NSw3IEBAIHN0YXRpYyB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yQ2FsbGJhY2so
Y29uc3Qgdjg6CiAgICAgdG9WOChkb2N1bWVudCwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAg
aWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RF
bm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0
aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIEV4
Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIFNUUklOR19UT19WOFBBUkFNRVRFUl9FWENFUFRJT05f
QkxPQ0soVjhQYXJhbWV0ZXI8Piwgc3RyMSwgTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywg
MCwgRGVmYXVsdElzVW5kZWZpbmVkKSk7CkBAIC04MSw3ICs4MSw3IEBAIHN0YXRpYyB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yQ2FsbGJhY2so
Y29uc3Qgdjg6CiAgICAgVjhET01XcmFwcGVyOjpzZXRKU1dyYXBwZXJGb3JBY3RpdmVET01PYmpl
Y3QoaW1wbC5yZWxlYXNlKCksIHdyYXBwZXIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1
cm4gd3JhcHBlcjsKICAgZmFpbDoKLSAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9u
KGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywg
YXJncy5HZXRJc29sYXRlKCkpOwogfQogCiB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1w
bGF0ZT4gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
Tm9kZS5jcHAKaW5kZXggZDU4NTA4OTEwNTA1MjU5MDgxMDJmNDBjZjFjZTY5ZDI2OTc3NGQ0NC4u
N2IzODBhMDBhNzA5MTk2MDAwMmFhYzhhOTYyOWY4M2I0NDNjZmU5YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmNwcApA
QCAtNDcsNyArNDcsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhUZXN0Tm9kZTo6Y29uc3Ry
dWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIElOQ19TVEFUUygi
RE9NLlRlc3ROb2RlLkNvbnN0cnVjdG9yIik7CiAKICAgICBpZiAoIWFyZ3MuSXNDb25zdHJ1Y3RD
YWxsKCkpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiRE9NIG9iamVj
dCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIik7CisgICAgICAg
IHJldHVybiB0aHJvd1R5cGVFcnJvcigiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUg
Y2FsbGVkIGFzIGEgZnVuY3Rpb24uIik7CiAKICAgICBpZiAoQ29uc3RydWN0b3JNb2RlOjpjdXJy
ZW50KCkgPT0gQ29uc3RydWN0b3JNb2RlOjpXcmFwRXhpc3RpbmdPYmplY3QpCiAgICAgICAgIHJl
dHVybiBhcmdzLkhvbGRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAppbmRleCBiM2Q3NzVlODFkNzBlODA4Y2I4ZjI4
Mzg4ZmY0ZTdkOTUyMzhjMDVkLi40NzA1N2NmZjAzNDBkYmIwZjkwNDU5YjRmYzI5YWE1NDM2MzRj
ZmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0T2JqLmNwcApAQCAtNDQxLDcgKzQ0MSw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gYXR0cldpdGhHZXR0ZXJFeGNlcHRpb25BdHRyR2V0dGVyKHY4OjpMb2NhbDx2ODo6
U3RyCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgaW50IHYgPSBpbXAtPmF0dHJXaXRo
R2V0dGVyRXhjZXB0aW9uKGVjKTsKICAgICBpZiAoVU5MSUtFTFkoZWMpKQotICAgICAgICByZXR1
cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CisgICAg
ICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICBy
ZXR1cm4gdjhJbnRlZ2VyKHYsIGluZm8uR2V0SXNvbGF0ZSgpKTsKIH0KIApAQCAtNDUzLDcgKzQ1
Myw3IEBAIHN0YXRpYyB2b2lkIGF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uQXR0clNldHRlcih2ODo6
TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgdjg6OkxvCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7
CiAgICAgaW1wLT5zZXRBdHRyV2l0aEdldHRlckV4Y2VwdGlvbih2LCBlYyk7CiAgICAgaWYgKFVO
TElLRUxZKGVjKSkKLSAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdl
dElzb2xhdGUoKSk7CisgICAgICAgIHNldERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJc29sYXRl
KCkpOwogICAgIHJldHVybjsKIH0KIApAQCAtNDcyLDcgKzQ3Miw3IEBAIHN0YXRpYyB2b2lkIGF0
dHJXaXRoU2V0dGVyRXhjZXB0aW9uQXR0clNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFt
ZSwgdjg6OkxvCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgaW1wLT5zZXRBdHRyV2l0
aFNldHRlckV4Y2VwdGlvbih2LCBlYyk7CiAgICAgaWYgKFVOTElLRUxZKGVjKSkKLSAgICAgICAg
VjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CisgICAgICAg
IHNldERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybjsKIH0K
IApAQCAtNDgzLDcgKzQ4Myw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gc3RyaW5n
QXR0cldpdGhHZXR0ZXJFeGNlcHRpb25BdHRyR2V0dGVyKHY4OjpMb2NhbDx2CiAgICAgRXhjZXB0
aW9uQ29kZSBlYyA9IDA7CiAgICAgU3RyaW5nIHYgPSBpbXAtPnN0cmluZ0F0dHJXaXRoR2V0dGVy
RXhjZXB0aW9uKGVjKTsKICAgICBpZiAoVU5MSUtFTFkoZWMpKQotICAgICAgICByZXR1cm4gVjhQ
cm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJl
dHVybiBzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4g
djhTdHJpbmcodiwgaW5mby5HZXRJc29sYXRlKCkpOwogfQogCkBAIC00OTUsNyArNDk1LDcgQEAg
c3RhdGljIHZvaWQgc3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb25BdHRyU2V0dGVyKHY4OjpM
b2NhbDx2ODo6U3RyaW5nPiBuYW1lLAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIGlt
cC0+c2V0U3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24odiwgZWMpOwogICAgIGlmIChVTkxJ
S0VMWShlYykpCi0gICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJ
c29sYXRlKCkpOworICAgICAgICBzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgp
KTsKICAgICByZXR1cm47CiB9CiAKQEAgLTUxNCw3ICs1MTQsNyBAQCBzdGF0aWMgdm9pZCBzdHJp
bmdBdHRyV2l0aFNldHRlckV4Y2VwdGlvbkF0dHJTZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+
IG5hbWUsCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgaW1wLT5zZXRTdHJpbmdBdHRy
V2l0aFNldHRlckV4Y2VwdGlvbih2LCBlYyk7CiAgICAgaWYgKFVOTElLRUxZKGVjKSkKLSAgICAg
ICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CisgICAg
ICAgIHNldERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybjsK
IH0KIApAQCAtNTc0LDcgKzU3NCw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gd2l0
aFNjcmlwdFN0YXRlQXR0cmlidXRlUmFpc2VzQXR0ckdldHRlcih2ODo6TG9jYWw8CiAgICAgICAg
IHJldHVybiB2OFVuZGVmaW5lZCgpOwogICAgIFJlZlB0cjxUZXN0T2JqPiB2ID0gaW1wLT53aXRo
U2NyaXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXMoc3RhdGUsIGVjKTsKICAgICBpZiAoVU5MSUtFTFko
ZWMpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdl
dElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0
SXNvbGF0ZSgpKTsKICAgICBpZiAoc3RhdGUuaGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVy
biB0aHJvd0Vycm9yKHN0YXRlLmV4Y2VwdGlvbigpLCBpbmZvLkdldElzb2xhdGUoKSk7CiAgICAg
cmV0dXJuIHRvVjgodi5yZWxlYXNlKCksIGluZm8uR2V0SXNvbGF0ZSgpKTsKQEAgLTU5MSw3ICs1
OTEsNyBAQCBzdGF0aWMgdm9pZCB3aXRoU2NyaXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXNBdHRyU2V0
dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLAogICAgICAgICByZXR1cm47CiAgICAgaW1w
LT5zZXRXaXRoU2NyaXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXMoc3RhdGUsIFdURjo6Z2V0UHRyKHYp
LCBlYyk7CiAgICAgaWYgKFVOTElLRUxZKGVjKSkKLSAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhj
ZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CisgICAgICAgIHNldERPTUV4Y2VwdGlvbihl
YywgaW5mby5HZXRJc29sYXRlKCkpOwogICAgIGlmIChzdGF0ZS5oYWRFeGNlcHRpb24oKSkKICAg
ICAgICAgdGhyb3dFcnJvcihzdGF0ZS5leGNlcHRpb24oKSwgaW5mby5HZXRJc29sYXRlKCkpOwog
ICAgIHJldHVybjsKQEAgLTYwNyw3ICs2MDcsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IHdpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QXR0cmlidXRlUmFpc2VzQXR0ckdldHRlcgog
ICAgICAgICByZXR1cm4gdjhVbmRlZmluZWQoKTsKICAgICBSZWZQdHI8VGVzdE9iaj4gdiA9IGlt
cC0+d2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBdHRyaWJ1dGVSYWlzZXMoc2NyaXB0Q29udGV4
dCwgZWMpOwogICAgIGlmIChVTkxJS0VMWShlYykpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojpz
ZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNl
dERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybiB0b1Y4KHYu
cmVsZWFzZSgpLCBpbmZvLkdldElzb2xhdGUoKSk7CiB9CiAKQEAgLTYyMiw3ICs2MjIsNyBAQCBz
dGF0aWMgdm9pZCB3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0ZVJhaXNlc0F0dHJT
ZXR0ZXIodjg6OkxvY2FsPHY4OjpTdAogICAgICAgICByZXR1cm47CiAgICAgaW1wLT5zZXRXaXRo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0ZVJhaXNlcyhzY3JpcHRDb250ZXh0LCBXVEY6
OmdldFB0cih2KSwgZWMpOwogICAgIGlmIChVTkxJS0VMWShlYykpCi0gICAgICAgIFY4UHJveHk6
OnNldERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOworICAgICAgICBzZXRET01F
eGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm47CiB9CiAKQEAgLTY2
OSw3ICs2NjksNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHdpdGhTY3JpcHRFeGVj
dXRpb25Db250ZXh0QW5kU2NyaXB0U3RhdGVBdHRyaWJ1dGVSYQogICAgICAgICByZXR1cm4gdjhV
bmRlZmluZWQoKTsKICAgICBSZWZQdHI8VGVzdE9iaj4gdiA9IGltcC0+d2l0aFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZUF0dHJpYnV0ZVJhaXNlcyhzdGF0ZSwgc2NyaXB0Q29u
dGV4dCwgZWMpOwogICAgIGlmIChVTkxJS0VMWShlYykpCi0gICAgICAgIHJldHVybiBWOFByb3h5
OjpzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJu
IHNldERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOwogICAgIGlmIChzdGF0ZS5o
YWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIHRocm93RXJyb3Ioc3RhdGUuZXhjZXB0aW9u
KCksIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdG9WOCh2LnJlbGVhc2UoKSwgaW5m
by5HZXRJc29sYXRlKCkpOwpAQCAtNjg5LDcgKzY4OSw3IEBAIHN0YXRpYyB2b2lkIHdpdGhTY3Jp
cHRFeGVjdXRpb25Db250ZXh0QW5kU2NyaXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXNBdHRyU2V0dGVy
KHY4CiAgICAgICAgIHJldHVybjsKICAgICBpbXAtPnNldFdpdGhTY3JpcHRFeGVjdXRpb25Db250
ZXh0QW5kU2NyaXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXMoc3RhdGUsIHNjcmlwdENvbnRleHQsIFdU
Rjo6Z2V0UHRyKHYpLCBlYyk7CiAgICAgaWYgKFVOTElLRUxZKGVjKSkKLSAgICAgICAgVjhQcm94
eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CisgICAgICAgIHNldERP
TUV4Y2VwdGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOwogICAgIGlmIChzdGF0ZS5oYWRFeGNl
cHRpb24oKSkKICAgICAgICAgdGhyb3dFcnJvcihzdGF0ZS5leGNlcHRpb24oKSwgaW5mby5HZXRJ
c29sYXRlKCkpOwogICAgIHJldHVybjsKQEAgLTEwODAsNyArMTA4MCw3IEBAIHN0YXRpYyB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gdm9pZE1ldGhvZFdpdGhBcmdzQ2FsbGJhY2soY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXJnCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai52b2lkTWV0aG9kV2l0
aEFyZ3MiKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDMpCi0gICAgICAgIHJldHVybiBWOFBy
b3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAg
ICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRl
KCkpOwogICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoYXJncy5Ib2xkZXIo
KSk7CiAgICAgRVhDRVBUSU9OX0JMT0NLKGxvbmcgbG9uZywgQXJnLCB0b0ludDY0KE1BWUJFX01J
U1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDAsIERlZmF1bHRJc1VuZGVmaW5lZCkpKTsKICAgICBTVFJJ
TkdfVE9fVjhQQVJBTUVURVJfRVhDRVBUSU9OX0JMT0NLKFY4UGFyYW1ldGVyPD4sIHN0ckFyZywg
TUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMSwgRGVmYXVsdElzVW5kZWZpbmVkKSk7CkBA
IC0xMTAwLDcgKzExMDAsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IE1ldGhvZFdp
dGhBcmdzQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBJTkNfU1RB
VFMoIkRPTS5UZXN0T2JqLk1ldGhvZFdpdGhBcmdzIik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkg
PCAzKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJv
cihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3Vt
ZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RP
Ymo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIEVYQ0VQVElPTl9CTE9DSyhsb25nIGxv
bmcsIEFyZywgdG9JbnQ2NChNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0
SXNVbmRlZmluZWQpKSk7CiAgICAgU1RSSU5HX1RPX1Y4UEFSQU1FVEVSX0VYQ0VQVElPTl9CTE9D
SyhWOFBhcmFtZXRlcjw+LCBzdHJBcmcsIE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDEs
IERlZmF1bHRJc1VuZGVmaW5lZCkpOwpAQCAtMTExOSw3ICsxMTE5LDcgQEAgc3RhdGljIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBvYmpNZXRob2RXaXRoQXJnc0NhbGxiYWNrKGNvbnN0IHY4OjpBcmd1
bWVudHMmIGFyZ3MKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLm9iak1ldGhvZFdpdGhB
cmdzIik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAzKQotICAgICAgICByZXR1cm4gVjhQcm94
eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAg
ICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkp
OwogICAgIEVYQ0VQVElPTl9CTE9DSyhsb25nIGxvbmcsIEFyZywgdG9JbnQ2NChNQVlCRV9NSVNT
SU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKSk7CiAgICAgU1RSSU5H
X1RPX1Y4UEFSQU1FVEVSX0VYQ0VQVElPTl9CTE9DSyhWOFBhcmFtZXRlcjw+LCBzdHJBcmcsIE1B
WUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDEsIERlZmF1bHRJc1VuZGVmaW5lZCkpOwpAQCAt
MTEzMSw3ICsxMTMxLDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBtZXRob2RXaXRo
U2VxdWVuY2VBcmdDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJgogewogICAgIElOQ19TVEFU
UygiRE9NLlRlc3RPYmoubWV0aG9kV2l0aFNlcXVlbmNlQXJnIik7CiAgICAgaWYgKGFyZ3MuTGVu
Z3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVu
dHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3Vn
aEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBUZXN0T2JqKiBpbXAgPSBW
OFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIEVYQ0VQVElPTl9CTE9DSyhW
ZWN0b3I8U2NyaXB0UHJvZmlsZT4sIHNlcXVlbmNlQXJnLCB0b05hdGl2ZUFycmF5PFNjcmlwdFBy
b2ZpbGU+KE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDAsIERlZmF1bHRJc1VuZGVmaW5l
ZCkpKTsKICAgICBpbXAtPm1ldGhvZFdpdGhTZXF1ZW5jZUFyZyhzZXF1ZW5jZUFyZyk7CkBAIC0x
MTQyLDcgKzExNDIsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG1ldGhvZFJldHVy
bmluZ1NlcXVlbmNlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cwogewogICAgIElOQ19TVEFU
UygiRE9NLlRlc3RPYmoubWV0aG9kUmV0dXJuaW5nU2VxdWVuY2UiKTsKICAgICBpZiAoYXJncy5M
ZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3Vt
ZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5v
dWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogICAgIFRlc3RPYmoqIGltcCA9
IFY4VGVzdE9iajo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgRVhDRVBUSU9OX0JMT0NL
KGxvbmcgbG9uZywgQXJnLCB0b0ludDY0KE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDAs
IERlZmF1bHRJc1VuZGVmaW5lZCkpKTsKICAgICByZXR1cm4gdjhBcnJheShpbXAtPm1ldGhvZFJl
dHVybmluZ1NlcXVlbmNlKEFyZyksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKQEAgLTExNTIsNyArMTE1
Miw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gbWV0aG9kVGhhdFJlcXVpcmVzQWxs
QXJnc0FuZFRocm93c0NhbGxiYWNrKGNvbnN0IHY4CiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVz
dE9iai5tZXRob2RUaGF0UmVxdWlyZXNBbGxBcmdzQW5kVGhyb3dzIik7CiAgICAgaWYgKGFyZ3Mu
TGVuZ3RoKCkgPCAyKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1
bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVu
b3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBUZXN0T2JqKiBpbXAg
PSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIEV4Y2VwdGlvbkNvZGUg
ZWMgPSAwOwogICAgIHsKQEAgLTExNjQsMTQgKzExNjQsMTQgQEAgc3RhdGljIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBtZXRob2RUaGF0UmVxdWlyZXNBbGxBcmdzQW5kVGhyb3dzQ2FsbGJhY2soY29u
c3QgdjgKICAgICByZXR1cm4gdG9WOChyZXN1bHQucmVsZWFzZSgpLCBhcmdzLkdldElzb2xhdGUo
KSk7CiAgICAgfQogICAgIGZhaWw6Ci0gICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlv
bihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIH0KIAogc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBz
ZXJpYWxpemVkVmFsdWVDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewogICAg
IElOQ19TVEFUUygiRE9NLlRlc3RPYmouc2VyaWFsaXplZFZhbHVlIik7CiAgICAgaWYgKGFyZ3Mu
TGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1
bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVu
b3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBUZXN0T2JqKiBpbXAg
PSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIGJvb2wgc2VyaWFsaXpl
ZEFyZ0RpZFRocm93ID0gZmFsc2U7CiAgICAgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4g
c2VyaWFsaXplZEFyZyA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKGFyZ3NbMF0sIDAs
IDAsIHNlcmlhbGl6ZWRBcmdEaWRUaHJvdywgYXJncy5HZXRJc29sYXRlKCkpOwpAQCAtMTE4NSw3
ICsxMTg1LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBpZGJLZXlDYWxsYmFjayhj
b25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmou
aWRiS2V5Iik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQ
cm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7Cisg
ICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVy
KCkpOwogICAgIEVYQ0VQVElPTl9CTE9DSyhSZWZQdHI8SURCS2V5Piwga2V5LCBjcmVhdGVJREJL
ZXlGcm9tVmFsdWUoTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5k
ZWZpbmVkKSkpOwogICAgIGltcC0+aWRiS2V5KGtleS5nZXQoKSk7CkBAIC0xMTk2LDE4ICsxMTk2
LDE4IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gb3B0aW9uc09iamVjdENhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9i
ai5vcHRpb25zT2JqZWN0Iik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICBy
ZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xh
dGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFy
Z3MuSG9sZGVyKCkpOwogICAgIEVYQ0VQVElPTl9CTE9DSyhEaWN0aW9uYXJ5LCBvbywgRGljdGlv
bmFyeShNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQp
LCBhcmdzLkdldElzb2xhdGUoKSkpOwogICAgIGlmICghb28uaXNVbmRlZmluZWRPck51bGwoKSAm
JiAhb28uaXNPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9y
KCJOb3QgYW4gb2JqZWN0LiIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRo
cm93VHlwZUVycm9yKCJOb3QgYW4gb2JqZWN0LiIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBp
ZiAoYXJncy5MZW5ndGgoKSA8PSAxKSB7CiAgICAgICAgIGltcC0+b3B0aW9uc09iamVjdChvbyk7
CiAgICAgICAgIHJldHVybiB2OFVuZGVmaW5lZCgpOwogICAgIH0KICAgICBFWENFUFRJT05fQkxP
Q0soRGljdGlvbmFyeSwgb29vLCBEaWN0aW9uYXJ5KE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFy
Z3MsIDEsIERlZmF1bHRJc1VuZGVmaW5lZCksIGFyZ3MuR2V0SXNvbGF0ZSgpKSk7CiAgICAgaWYg
KCFvb28uaXNVbmRlZmluZWRPck51bGwoKSAmJiAhb29vLmlzT2JqZWN0KCkpCi0gICAgICAgIHJl
dHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiTm90IGFuIG9iamVjdC4iLCBhcmdzLkdldElz
b2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigiTm90IGFuIG9iamVjdC4i
LCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgaW1wLT5vcHRpb25zT2JqZWN0KG9vLCBvb28pOwog
ICAgIHJldHVybiB2OFVuZGVmaW5lZCgpOwogfQpAQCAtMTIyNCw3ICsxMjI0LDcgQEAgc3RhdGlj
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBtZXRob2RXaXRoRXhjZXB0aW9uQ2FsbGJhY2soY29uc3Qg
djg6OkFyZ3VtZW50cyYgYXIKICAgICByZXR1cm4gdjhVbmRlZmluZWQoKTsKICAgICB9CiAgICAg
ZmFpbDoKLSAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElz
b2xhdGUoKSk7CisgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRl
KCkpOwogfQogCiBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFkZEV2ZW50TGlzdGVuZXJD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQpAQCAtMTI4Niw3ICsxMjg2LDcgQEAg
c3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB3aXRoU2NyaXB0U3RhdGVWb2lkRXhjZXB0aW9u
Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3UKICAgICByZXR1cm4gdjhVbmRlZmluZWQoKTsKICAgICB9
CiAgICAgZmFpbDoKLSAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdz
LkdldElzb2xhdGUoKSk7CisgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJ
c29sYXRlKCkpOwogfQogCiBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHdpdGhTY3JpcHRT
dGF0ZU9iakV4Y2VwdGlvbkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCkBAIC0x
MzA0LDcgKzEzMDQsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHdpdGhTY3JpcHRT
dGF0ZU9iakV4Y2VwdGlvbkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bQogICAgIHJldHVybiB0b1Y4
KHJlc3VsdC5yZWxlYXNlKCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICB9CiAgICAgZmFpbDoK
LSAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUo
KSk7CisgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwog
fQogCiBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHdpdGhTY3JpcHRFeGVjdXRpb25Db250
ZXh0Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKQEAgLTEzNTAsNyArMTM1MCw3
IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gd2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRBbmRTY3JpcHRTdGF0ZU9iakV4Y2VwdGlvCiAgICAgcmV0dXJuIHRvVjgocmVzdWx0LnJlbGVh
c2UoKSwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIH0KICAgICBmYWlsOgotICAgIHJldHVybiBW
OFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICByZXR1
cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiB9CiAKIHN0YXRpYyB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gd2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRT
dGF0ZVdpdGhTcGFjZXNDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQpAQCAtMTM5
Niw3ICsxMzk2LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBtZXRob2RXaXRoTm9u
T3B0aW9uYWxBcmdBbmRPcHRpb25hbEFyZ0NhbGxiYWNrKGNvbnMKIHsKICAgICBJTkNfU1RBVFMo
IkRPTS5UZXN0T2JqLm1ldGhvZFdpdGhOb25PcHRpb25hbEFyZ0FuZE9wdGlvbmFsQXJnIik7CiAg
ICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dO
b3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVy
biB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBU
ZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIEVY
Q0VQVElPTl9CTE9DSyhpbnQsIG5vbk9wdCwgdG9JbnQzMihNQVlCRV9NSVNTSU5HX1BBUkFNRVRF
UihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKSk7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkg
PD0gMSkgewpAQCAtMTQxMiw3ICsxNDEyLDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBtZXRob2RXaXRoTm9uT3B0aW9uYWxBcmdBbmRUd29PcHRpb25hbEFyZ3NDYWxsYmFjaygKIHsK
ICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLm1ldGhvZFdpdGhOb25PcHRpb25hbEFyZ0FuZFR3
b09wdGlvbmFsQXJncyIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0
dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRl
KCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdl
dElzb2xhdGUoKSk7CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShhcmdz
LkhvbGRlcigpKTsKICAgICBFWENFUFRJT05fQkxPQ0soaW50LCBub25PcHQsIHRvSW50MzIoTUFZ
QkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkpOwogICAg
IGlmIChhcmdzLkxlbmd0aCgpIDw9IDEpIHsKQEAgLTE0NjQsMTAgKzE0NjQsMTAgQEAgc3RhdGlj
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBtZXRob2RXaXRoQ2FsbGJhY2tBcmdDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJgogewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmoubWV0aG9kV2l0
aENhbGxiYWNrQXJnIik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1
cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUo
KSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3Mu
SG9sZGVyKCkpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDw9IDAgfHwgIWFyZ3NbMF0tPklzRnVu
Y3Rpb24oKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihUWVBFX01J
U01BVENIX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhj
ZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgUmVmUHRy
PFRlc3RDYWxsYmFjaz4gY2FsbGJhY2sgPSBWOFRlc3RDYWxsYmFjazo6Y3JlYXRlKGFyZ3NbMF0s
IGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgaW1wLT5tZXRob2RXaXRoQ2FsbGJh
Y2tBcmcoY2FsbGJhY2spOwogICAgIHJldHVybiB2OFVuZGVmaW5lZCgpOwpAQCAtMTQ3NywxMSAr
MTQ3NywxMSBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG1ldGhvZFdpdGhOb25DYWxs
YmFja0FyZ0FuZENhbGxiYWNrQXJnQ2FsbGJhY2soY29ucwogewogICAgIElOQ19TVEFUUygiRE9N
LlRlc3RPYmoubWV0aG9kV2l0aE5vbkNhbGxiYWNrQXJnQW5kQ2FsbGJhY2tBcmciKTsKICAgICBp
ZiAoYXJncy5MZW5ndGgoKSA8IDIpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVu
b3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRo
cm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogICAgIFRlc3RP
YmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgRVhDRVBU
SU9OX0JMT0NLKGludCwgbm9uQ2FsbGJhY2ssIHRvSW50MzIoTUFZQkVfTUlTU0lOR19QQVJBTUVU
RVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkpOwogICAgIGlmIChhcmdzLkxlbmd0aCgp
IDw9IDEgfHwgIWFyZ3NbMV0tPklzRnVuY3Rpb24oKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6
OnNldERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwor
ICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdl
dElzb2xhdGUoKSk7CiAgICAgUmVmUHRyPFRlc3RDYWxsYmFjaz4gY2FsbGJhY2sgPSBWOFRlc3RD
YWxsYmFjazo6Y3JlYXRlKGFyZ3NbMV0sIGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAg
ICAgaW1wLT5tZXRob2RXaXRoTm9uQ2FsbGJhY2tBcmdBbmRDYWxsYmFja0FyZyhub25DYWxsYmFj
aywgY2FsbGJhY2spOwogICAgIHJldHVybiB2OFVuZGVmaW5lZCgpOwpAQCAtMTQ5NCw3ICsxNDk0
LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBtZXRob2RXaXRoQ2FsbGJhY2tBbmRP
cHRpb25hbEFyZ0NhbGxiYWNrKGNvbnN0IHY4OjoKICAgICBSZWZQdHI8VGVzdENhbGxiYWNrPiBj
YWxsYmFjazsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDAgJiYgIWFyZ3NbMF0tPklzTnVsbCgp
ICYmICFhcmdzWzBdLT5Jc1VuZGVmaW5lZCgpKSB7CiAgICAgICAgIGlmICghYXJnc1swXS0+SXNG
dW5jdGlvbigpKQotICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihU
WVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICAgICAgcmV0dXJu
IHNldERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwog
ICAgICAgICBjYWxsYmFjayA9IFY4VGVzdENhbGxiYWNrOjpjcmVhdGUoYXJnc1swXSwgZ2V0U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKICAgICB9CiAgICAgaW1wLT5tZXRob2RXaXRoQ2FsbGJh
Y2tBbmRPcHRpb25hbEFyZyhjYWxsYmFjayk7CkBAIC0xNTQwLDcgKzE1NDAsNyBAQCBzdGF0aWMg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IG92ZXJsb2FkZWRNZXRob2QxQ2FsbGJhY2soY29uc3Qgdjg6
OkFyZ3VtZW50cyYgYXJncwogewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmoub3ZlcmxvYWRl
ZE1ldGhvZDEiKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDIpCi0gICAgICAgIHJldHVybiBW
OFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsK
KyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29s
YXRlKCkpOwogICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoYXJncy5Ib2xk
ZXIoKSk7CiAgICAgRVhDRVBUSU9OX0JMT0NLKFRlc3RPYmoqLCBvYmpBcmcsIFY4VGVzdE9iajo6
SGFzSW5zdGFuY2UoTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5k
ZWZpbmVkKSkgPyBWOFRlc3RPYmo6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNh
c3QoTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkp
IDogMCk7CiAgICAgU1RSSU5HX1RPX1Y4UEFSQU1FVEVSX0VYQ0VQVElPTl9CTE9DSyhWOFBhcmFt
ZXRlcjw+LCBzdHJBcmcsIE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDEsIERlZmF1bHRJ
c1VuZGVmaW5lZCkpOwpAQCAtMTU1Miw3ICsxNTUyLDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiBvdmVybG9hZGVkTWV0aG9kMkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFy
Z3MKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLm92ZXJsb2FkZWRNZXRob2QyIik7CiAg
ICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dO
b3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVy
biB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBU
ZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIEVY
Q0VQVElPTl9CTE9DSyhUZXN0T2JqKiwgb2JqQXJnLCBWOFRlc3RPYmo6Okhhc0luc3RhbmNlKE1B
WUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDAsIERlZmF1bHRJc1VuZGVmaW5lZCkpID8gVjhU
ZXN0T2JqOjp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KE1BWUJFX01JU1NJ
TkdfUEFSQU1FVEVSKGFyZ3MsIDAsIERlZmF1bHRJc1VuZGVmaW5lZCkpKSA6IDApOwogICAgIGlm
IChhcmdzLkxlbmd0aCgpIDw9IDEpIHsKQEAgLTE1NjgsNyArMTU2OCw3IEBAIHN0YXRpYyB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gb3ZlcmxvYWRlZE1ldGhvZDNDYWxsYmFjayhjb25zdCB2ODo6QXJn
dW1lbnRzJiBhcmdzCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5vdmVybG9hZGVkTWV0
aG9kMyIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJv
eHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAg
ICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUo
KSk7CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShhcmdzLkhvbGRlcigp
KTsKICAgICBTVFJJTkdfVE9fVjhQQVJBTUVURVJfRVhDRVBUSU9OX0JMT0NLKFY4UGFyYW1ldGVy
PD4sIHN0ckFyZywgTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5k
ZWZpbmVkKSk7CiAgICAgaW1wLT5vdmVybG9hZGVkTWV0aG9kKHN0ckFyZyk7CkBAIC0xNTc5LDcg
KzE1NzksNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG92ZXJsb2FkZWRNZXRob2Q0
Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncwogewogICAgIElOQ19TVEFUUygiRE9N
LlRlc3RPYmoub3ZlcmxvYWRlZE1ldGhvZDQiKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEp
Ci0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRz
RXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6
dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgRVhDRVBUSU9OX0JMT0NLKGxvbmcgbG9uZywg
QXJnLCB0b0ludDY0KE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDAsIERlZmF1bHRJc1Vu
ZGVmaW5lZCkpKTsKICAgICBpbXAtPm92ZXJsb2FkZWRNZXRob2QoQXJnKTsKQEAgLTE1OTAsMTAg
KzE1OTAsMTAgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBvdmVybG9hZGVkTWV0aG9k
NUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MKIHsKICAgICBJTkNfU1RBVFMoIkRP
TS5UZXN0T2JqLm92ZXJsb2FkZWRNZXRob2Q1Iik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAx
KQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihh
cmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50
c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6
OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDw9IDAgfHwg
IWFyZ3NbMF0tPklzRnVuY3Rpb24oKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4
Y2VwdGlvbihUWVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICBy
ZXR1cm4gc2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdldElzb2xhdGUo
KSk7CiAgICAgUmVmUHRyPFRlc3RDYWxsYmFjaz4gY2FsbGJhY2sgPSBWOFRlc3RDYWxsYmFjazo6
Y3JlYXRlKGFyZ3NbMF0sIGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgaW1wLT5v
dmVybG9hZGVkTWV0aG9kKGNhbGxiYWNrKTsKICAgICByZXR1cm4gdjhVbmRlZmluZWQoKTsKQEAg
LTE2MDMsNyArMTYwMyw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gb3ZlcmxvYWRl
ZE1ldGhvZDZDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzCiB7CiAgICAgSU5DX1NU
QVRTKCJET00uVGVzdE9iai5vdmVybG9hZGVkTWV0aG9kNiIpOwogICAgIGlmIChhcmdzLkxlbmd0
aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRz
RXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hB
cmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgVGVzdE9iaiogaW1wID0gVjhU
ZXN0T2JqOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBFWENFUFRJT05fQkxPQ0soUmVm
UHRyPERPTVN0cmluZ0xpc3Q+LCBsaXN0QXJnLCB2OFZhbHVlVG9XZWJDb3JlRE9NU3RyaW5nTGlz
dChNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKSk7
CiAgICAgaW1wLT5vdmVybG9hZGVkTWV0aG9kKGxpc3RBcmcpOwpAQCAtMTYxNCw3ICsxNjE0LDcg
QEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBvdmVybG9hZGVkTWV0aG9kN0NhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2Jq
Lm92ZXJsb2FkZWRNZXRob2Q3Iik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAg
ICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElz
b2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZl
KGFyZ3MuSG9sZGVyKCkpOwogICAgIEVYQ0VQVElPTl9CTE9DSyhSZWZQdHI8RE9NU3RyaW5nTGlz
dD4sIGFycmF5QXJnLCB2OFZhbHVlVG9XZWJDb3JlRE9NU3RyaW5nTGlzdChNQVlCRV9NSVNTSU5H
X1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKSk7CiAgICAgaW1wLT5vdmVy
bG9hZGVkTWV0aG9kKGFycmF5QXJnKTsKQEAgLTE2MjUsNyArMTYyNSw3IEBAIHN0YXRpYyB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gb3ZlcmxvYWRlZE1ldGhvZDhDYWxsYmFjayhjb25zdCB2ODo6QXJn
dW1lbnRzJiBhcmdzCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5vdmVybG9hZGVkTWV0
aG9kOCIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJv
eHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAg
ICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUo
KSk7CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShhcmdzLkhvbGRlcigp
KTsKICAgICBFWENFUFRJT05fQkxPQ0soVGVzdE9iaiosIG9iakFyZywgVjhUZXN0T2JqOjpIYXNJ
bnN0YW5jZShNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmlu
ZWQpKSA/IFY4VGVzdE9iajo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChN
QVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKSkgOiAw
KTsKICAgICBpbXAtPm92ZXJsb2FkZWRNZXRob2Qob2JqQXJnKTsKQEAgLTE2MzYsNyArMTYzNiw3
IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gb3ZlcmxvYWRlZE1ldGhvZDlDYWxsYmFj
ayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9i
ai5vdmVybG9hZGVkTWV0aG9kOSIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAg
ICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJ
c29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihh
cmdzLkdldElzb2xhdGUoKSk7CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2
ZShhcmdzLkhvbGRlcigpKTsKICAgICBFWENFUFRJT05fQkxPQ0soUmVmUHRyPERPTVN0cmluZ0xp
c3Q+LCBhcnJheUFyZywgdjhWYWx1ZVRvV2ViQ29yZURPTVN0cmluZ0xpc3QoTUFZQkVfTUlTU0lO
R19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkpOwogICAgIGltcC0+b3Zl
cmxvYWRlZE1ldGhvZChhcnJheUFyZyk7CkBAIC0xNjQ3LDcgKzE2NDcsNyBAQCBzdGF0aWMgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IG92ZXJsb2FkZWRNZXRob2QxMENhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmIGFyZwogewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmoub3ZlcmxvYWRlZE1l
dGhvZDEwIik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQ
cm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7Cisg
ICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVy
KCkpOwogICAgIEVYQ0VQVElPTl9CTE9DSyhWZWN0b3I8dW5zaWduZWQgbG9uZz4sIGFycmF5QXJn
LCB0b05hdGl2ZUFycmF5PHVuc2lnbmVkIGxvbmc+KE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFy
Z3MsIDAsIERlZmF1bHRJc1VuZGVmaW5lZCkpKTsKICAgICBpbXAtPm92ZXJsb2FkZWRNZXRob2Qo
YXJyYXlBcmcpOwpAQCAtMTY3Nyw3ICsxNjc3LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBvdmVybG9hZGVkTWV0aG9kQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykK
ICAgICAgICAgcmV0dXJuIG92ZXJsb2FkZWRNZXRob2Q5Q2FsbGJhY2soYXJncyk7CiAgICAgaWYg
KChhcmdzLkxlbmd0aCgpID09IDEgJiYgKGFyZ3NbMF0tPklzQXJyYXkoKSkpKQogICAgICAgICBy
ZXR1cm4gb3ZlcmxvYWRlZE1ldGhvZDEwQ2FsbGJhY2soYXJncyk7Ci0gICAgcmV0dXJuIFY4UHJv
eHk6OnRocm93VHlwZUVycm9yKDAsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICByZXR1cm4gdGhy
b3dUeXBlRXJyb3IoMCwgYXJncy5HZXRJc29sYXRlKCkpOwogfQogCiBzdGF0aWMgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IGNsYXNzTWV0aG9kQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJn
cykKQEAgLTE3MDMsNyArMTcwMyw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gb3Zl
cmxvYWRlZE1ldGhvZDExQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJnCiB7CiAgICAg
SU5DX1NUQVRTKCJET00uVGVzdE9iai5vdmVybG9hZGVkTWV0aG9kMTEiKTsKICAgICBpZiAoYXJn
cy5MZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFy
Z3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90
RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogICAgIEVYQ0VQVElPTl9C
TE9DSyhpbnQsIGFyZywgdG9JbnQzMihNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBE
ZWZhdWx0SXNVbmRlZmluZWQpKSk7CiAgICAgVGVzdE9iajo6b3ZlcmxvYWRlZE1ldGhvZDEoYXJn
KTsKICAgICByZXR1cm4gdjhVbmRlZmluZWQoKTsKQEAgLTE3MTcsNyArMTcxNyw3IEBAIHN0YXRp
YyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gb3ZlcmxvYWRlZE1ldGhvZDEyQ2FsbGJhY2soY29uc3Qg
djg6OkFyZ3VtZW50cyYgYXJnCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5vdmVybG9h
ZGVkTWV0aG9kMTIiKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVy
biBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJ
c29sYXRlKCkpOwogICAgIFNUUklOR19UT19WOFBBUkFNRVRFUl9FWENFUFRJT05fQkxPQ0soVjhQ
YXJhbWV0ZXI8PiwgdHlwZSwgTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVs
dElzVW5kZWZpbmVkKSk7CiAgICAgVGVzdE9iajo6b3ZlcmxvYWRlZE1ldGhvZDEodHlwZSk7CiAg
ICAgcmV0dXJuIHY4VW5kZWZpbmVkKCk7CkBAIC0xNzM0LDcgKzE3MzQsNyBAQCBzdGF0aWMgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IG92ZXJsb2FkZWRNZXRob2QxQ2FsbGJhY2soY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXJncwogICAgICAgICByZXR1cm4gb3ZlcmxvYWRlZE1ldGhvZDExQ2FsbGJhY2so
YXJncyk7CiAgICAgaWYgKChhcmdzLkxlbmd0aCgpID09IDEgJiYgKGFyZ3NbMF0tPklzTnVsbCgp
IHx8IGFyZ3NbMF0tPklzVW5kZWZpbmVkKCkgfHwgYXJnc1swXS0+SXNTdHJpbmcoKSB8fCBhcmdz
WzBdLT5Jc09iamVjdCgpKSkpCiAgICAgICAgIHJldHVybiBvdmVybG9hZGVkTWV0aG9kMTJDYWxs
YmFjayhhcmdzKTsKLSAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoMCwgYXJncy5H
ZXRJc29sYXRlKCkpOworICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigwLCBhcmdzLkdldElzb2xh
dGUoKSk7CiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoQ29uZGl0aW9uMSkKQEAgLTE3NDMsNyArMTc0
Myw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY2xhc3NNZXRob2RXaXRoQ2xhbXBD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVz
dE9iai5jbGFzc01ldGhvZFdpdGhDbGFtcCIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMikK
LSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJn
cy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNF
cnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0
b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICB1bnNpZ25lZCBzaG9ydCBvYmpBcmdzU2hvcnQg
PSAwOwogICAgIEVYQ0VQVElPTl9CTE9DSyhkb3VibGUsIG9iakFyZ3NTaG9ydE5hdGl2ZVZhbHVl
LCBhcmdzWzBdLT5OdW1iZXJWYWx1ZSgpKTsKQEAgLTE3NjEsNyArMTc2MSw3IEBAIHN0YXRpYyB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZW5hYmxlZEF0UnVudGltZU1ldGhvZDFDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5lbmFibGVkQXRS
dW50aW1lTWV0aG9kMSIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0
dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRl
KCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdl
dElzb2xhdGUoKSk7CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShhcmdz
LkhvbGRlcigpKTsKICAgICBFWENFUFRJT05fQkxPQ0sobG9uZyBsb25nLCBBcmcsIHRvSW50NjQo
TUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkpOwog
ICAgIGltcC0+ZW5hYmxlZEF0UnVudGltZU1ldGhvZDEoQXJnKTsKQEAgLTE3NzIsNyArMTc3Miw3
IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZW5hYmxlZEF0UnVudGltZU1ldGhvZDJD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9i
ai5lbmFibGVkQXRSdW50aW1lTWV0aG9kMiIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkK
LSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJn
cy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNF
cnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0
b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBFWENFUFRJT05fQkxPQ0sobG9uZyBsb25nLCBB
cmcsIHRvSW50NjQoTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5k
ZWZpbmVkKSkpOwogICAgIGltcC0+ZW5hYmxlZEF0UnVudGltZU1ldGhvZDIoQXJnKTsKQEAgLTE3
ODMsNyArMTc4Myw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZW5hYmxlZFBlckNv
bnRleHRNZXRob2QxQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50CiB7CiAgICAgSU5DX1NUQVRT
KCJET00uVGVzdE9iai5lbmFibGVkUGVyQ29udGV4dE1ldGhvZDEiKTsKICAgICBpZiAoYXJncy5M
ZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3Vt
ZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5v
dWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogICAgIFRlc3RPYmoqIGltcCA9
IFY4VGVzdE9iajo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgRVhDRVBUSU9OX0JMT0NL
KGxvbmcgbG9uZywgQXJnLCB0b0ludDY0KE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDAs
IERlZmF1bHRJc1VuZGVmaW5lZCkpKTsKICAgICBpbXAtPmVuYWJsZWRQZXJDb250ZXh0TWV0aG9k
MShBcmcpOwpAQCAtMTc5NCw3ICsxNzk0LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBlbmFibGVkUGVyQ29udGV4dE1ldGhvZDJDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnQKIHsK
ICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLmVuYWJsZWRQZXJDb250ZXh0TWV0aG9kMiIpOwog
ICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93
Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1
cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAgICAg
VGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBF
WENFUFRJT05fQkxPQ0sobG9uZyBsb25nLCBBcmcsIHRvSW50NjQoTUFZQkVfTUlTU0lOR19QQVJB
TUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkpOwogICAgIGltcC0+ZW5hYmxlZFBl
ckNvbnRleHRNZXRob2QyKEFyZyk7CkBAIC0xODA1LDcgKzE4MDUsNyBAQCBzdGF0aWMgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHN0cmluZ0FycmF5RnVuY3Rpb25DYWxsYmFjayhjb25zdCB2ODo6QXJn
dW1lbnRzJiBhcgogewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmouc3RyaW5nQXJyYXlGdW5j
dGlvbiIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJv
eHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAg
ICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUo
KSk7CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShhcmdzLkhvbGRlcigp
KTsKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICB7CkBAIC0xODE2LDcgKzE4MTYsNyBA
QCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHN0cmluZ0FycmF5RnVuY3Rpb25DYWxsYmFj
ayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcgogICAgIHJldHVybiB2OEFycmF5KHJlc3VsdC5yZWxl
YXNlKCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICB9CiAgICAgZmFpbDoKLSAgICByZXR1cm4g
VjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgcmV0
dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogfQogCiBzdGF0aWMg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IGdldFNWR0RvY3VtZW50Q2FsbGJhY2soY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXJncykKQEAgLTE4MzMsMTQgKzE4MzMsMTQgQEAgc3RhdGljIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBnZXRTVkdEb2N1bWVudENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFy
Z3MpCiAgICAgcmV0dXJuIHRvVjgocmVzdWx0LnJlbGVhc2UoKSwgYXJncy5HZXRJc29sYXRlKCkp
OwogICAgIH0KICAgICBmYWlsOgotICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24o
ZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBh
cmdzLkdldElzb2xhdGUoKSk7CiB9CiAKIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY29u
dmVydDFDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewogICAgIElOQ19TVEFU
UygiRE9NLlRlc3RPYmouY29udmVydDEiKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0g
ICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJy
b3IoYXJncy5HZXRJc29sYXRlKCkpOwogICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9O
YXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgRVhDRVBUSU9OX0JMT0NLKGEqLCAsIFY4YTo6SGFz
SW5zdGFuY2UoTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZp
bmVkKSkgPyBWOGE6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoTUFZQkVf
TUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkpIDogMCk7CiAg
ICAgaW1wLT5jb252ZXJ0MSgpOwpAQCAtMTg1MSw3ICsxODUxLDcgQEAgc3RhdGljIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBjb252ZXJ0MkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3Mp
CiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5jb252ZXJ0MiIpOwogICAgIGlmIChhcmdz
Lkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJn
dW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RF
bm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgVGVzdE9iaiogaW1w
ID0gVjhUZXN0T2JqOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBFWENFUFRJT05fQkxP
Q0soYiosICwgVjhiOjpIYXNJbnN0YW5jZShNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAw
LCBEZWZhdWx0SXNVbmRlZmluZWQpKSA/IFY4Yjo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0Pjo6Q2FzdChNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRl
ZmluZWQpKSkgOiAwKTsKICAgICBpbXAtPmNvbnZlcnQyKCk7CkBAIC0xODYyLDcgKzE4NjIsNyBA
QCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnZlcnQzQ2FsbGJhY2soY29uc3Qgdjg6
OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLmNvbnZlcnQz
Iik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6
dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAg
IHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsK
ICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwog
ICAgIEVYQ0VQVElPTl9CTE9DSyhjKiwgLCBWOGM6Okhhc0luc3RhbmNlKE1BWUJFX01JU1NJTkdf
UEFSQU1FVEVSKGFyZ3MsIDAsIERlZmF1bHRJc1VuZGVmaW5lZCkpID8gVjhjOjp0b05hdGl2ZSh2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3Ms
IDAsIERlZmF1bHRJc1VuZGVmaW5lZCkpKSA6IDApOwogICAgIGltcC0+Y29udmVydDMoKTsKQEAg
LTE4NzMsNyArMTg3Myw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY29udmVydDRD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewogICAgIElOQ19TVEFUUygiRE9N
LlRlc3RPYmouY29udmVydDQiKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAg
IHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJn
cy5HZXRJc29sYXRlKCkpOwogICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUo
YXJncy5Ib2xkZXIoKSk7CiAgICAgRVhDRVBUSU9OX0JMT0NLKGQqLCAsIFY4ZDo6SGFzSW5zdGFu
Y2UoTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkg
PyBWOGQ6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoTUFZQkVfTUlTU0lO
R19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElzVW5kZWZpbmVkKSkpIDogMCk7CiAgICAgaW1w
LT5jb252ZXJ0NCgpOwpAQCAtMTg4NCw3ICsxODg0LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiBjb252ZXJ0NUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7CiAg
ICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5jb252ZXJ0NSIpOwogICAgIGlmIChhcmdzLkxlbmd0
aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRz
RXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hB
cmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgVGVzdE9iaiogaW1wID0gVjhU
ZXN0T2JqOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBFWENFUFRJT05fQkxPQ0soZSos
ICwgVjhlOjpIYXNJbnN0YW5jZShNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZh
dWx0SXNVbmRlZmluZWQpKSA/IFY4ZTo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6
Q2FzdChNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQp
KSkgOiAwKTsKICAgICBpbXAtPmNvbnZlcnQ1KCk7CkBAIC0xOTE3LDcgKzE5MTcsNyBAQCBzdGF0
aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHN0cmljdEZ1bmN0aW9uQ2FsbGJhY2soY29uc3Qgdjg6
OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLnN0cmljdEZ1
bmN0aW9uIik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAzKQotICAgICAgICByZXR1cm4gVjhQ
cm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7Cisg
ICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVy
KCkpOwogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIHsKQEAgLTE5MzAsNyArMTkzMCw3
IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gc3RyaWN0RnVuY3Rpb25DYWxsYmFjayhj
b25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIHJldHVybiB0b1Y4KHJlc3VsdC5yZWxlYXNl
KCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICB9CiAgICAgZmFpbDoKLSAgICByZXR1cm4gVjhQ
cm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgcmV0dXJu
IHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBUZXN0T2JqVjhJbnRlcm5hbApAQCAtMjE1NCwxNCArMjE1NCwxNCBAQCB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gVjhUZXN0T2JqOjpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1
bWVudHMmIGFyZ3MpCiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5Db25zdHJ1Y3RvciIpOwog
CiAgICAgaWYgKCFhcmdzLklzQ29uc3RydWN0Q2FsbCgpKQotICAgICAgICByZXR1cm4gVjhQcm94
eTo6dGhyb3dUeXBlRXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxl
ZCBhcyBhIGZ1bmN0aW9uLiIpOworICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkRPTSBv
YmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIpOwogCiAg
ICAgaWYgKENvbnN0cnVjdG9yTW9kZTo6Y3VycmVudCgpID09IENvbnN0cnVjdG9yTW9kZTo6V3Jh
cEV4aXN0aW5nT2JqZWN0KQogICAgICAgICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKICAgICBpZiAo
YXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3Vn
aEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93
Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogICAgIGlmIChhcmdz
Lkxlbmd0aCgpIDw9IDAgfHwgIWFyZ3NbMF0tPklzRnVuY3Rpb24oKSkKLSAgICAgICAgcmV0dXJu
IFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJc29s
YXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJS
LCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgUmVmUHRyPFRlc3RDYWxsYmFjaz4gdGVzdENhbGxi
YWNrID0gVjhUZXN0Q2FsbGJhY2s6OmNyZWF0ZShhcmdzWzBdLCBnZXRTY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkpOwogCiAgICAgUmVmUHRyPFRlc3RPYmo+IGltcGwgPSBUZXN0T2JqOjpjcmVhdGUo
dGVzdENhbGxiYWNrKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZS5jcHAKaW5kZXggYTYxYzhhZWNhYTU2MjNhODliY2RhOGY0YWFhMWMw
YjU2NThiODZiMC4uNzFmMGEzNzhiMTNjY2FkYTU3NzY4Yzg2NjI1ODhkMzQ3OGMyYzQ1OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZS5jcHAKQEAgLTEyNCwxMyArMTI0LDEzIEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
YWNjZXB0VHJhbnNmZXJMaXN0Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJnCiB7CiAg
ICAgSU5DX1NUQVRTKCJET00uVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5hY2Nl
cHRUcmFuc2Zlckxpc3QiKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAgIHJl
dHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5H
ZXRJc29sYXRlKCkpOwogICAgIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UqIGlt
cCA9IFY4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6dG9OYXRpdmUoYXJncy5I
b2xkZXIoKSk7CiAgICAgTWVzc2FnZVBvcnRBcnJheSBtZXNzYWdlUG9ydEFycmF5VHJhbnNmZXJM
aXN0OwogICAgIEFycmF5QnVmZmVyQXJyYXkgYXJyYXlCdWZmZXJBcnJheVRyYW5zZmVyTGlzdDsK
ICAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDEpIHsKICAgICAgICAgaWYgKCFleHRyYWN0VHJhbnNm
ZXJhYmxlcyhhcmdzWzFdLCBtZXNzYWdlUG9ydEFycmF5VHJhbnNmZXJMaXN0LCBhcnJheUJ1ZmZl
ckFycmF5VHJhbnNmZXJMaXN0LCBhcmdzLkdldElzb2xhdGUoKSkpCi0gICAgICAgICAgICByZXR1
cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoIkNvdWxkIG5vdCBleHRyYWN0IHRyYW5zZmVyYWJs
ZXMiKTsKKyAgICAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigiQ291bGQgbm90IGV4dHJh
Y3QgdHJhbnNmZXJhYmxlcyIpOwogICAgIH0KICAgICBib29sIGRhdGFEaWRUaHJvdyA9IGZhbHNl
OwogICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGRhdGEgPSBTZXJpYWxpemVkU2Ny
aXB0VmFsdWU6OmNyZWF0ZShhcmdzWzBdLCAmbWVzc2FnZVBvcnRBcnJheVRyYW5zZmVyTGlzdCwg
JmFycmF5QnVmZmVyQXJyYXlUcmFuc2Zlckxpc3QsIGRhdGFEaWRUaHJvdywgYXJncy5HZXRJc29s
YXRlKCkpOwpAQCAtMTU2LDcgKzE1Niw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
bXVsdGlUcmFuc2Zlckxpc3RDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzCiAgICAg
QXJyYXlCdWZmZXJBcnJheSBhcnJheUJ1ZmZlckFycmF5VHg7CiAgICAgaWYgKGFyZ3MuTGVuZ3Ro
KCkgPiAxKSB7CiAgICAgICAgIGlmICghZXh0cmFjdFRyYW5zZmVyYWJsZXMoYXJnc1sxXSwgbWVz
c2FnZVBvcnRBcnJheVR4LCBhcnJheUJ1ZmZlckFycmF5VHgsIGFyZ3MuR2V0SXNvbGF0ZSgpKSkK
LSAgICAgICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiQ291bGQgbm90IGV4
dHJhY3QgdHJhbnNmZXJhYmxlcyIpOworICAgICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9y
KCJDb3VsZCBub3QgZXh0cmFjdCB0cmFuc2ZlcmFibGVzIik7CiAgICAgfQogICAgIGJvb2wgZmly
c3REaWRUaHJvdyA9IGZhbHNlOwogICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGZp
cnN0ID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoYXJnc1swXSwgJm1lc3NhZ2VQb3J0
QXJyYXlUeCwgJmFycmF5QnVmZmVyQXJyYXlUeCwgZmlyc3REaWRUaHJvdywgYXJncy5HZXRJc29s
YXRlKCkpOwpAQCAtMTc0LDcgKzE3NCw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
bXVsdGlUcmFuc2Zlckxpc3RDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzCiAgICAg
QXJyYXlCdWZmZXJBcnJheSBhcnJheUJ1ZmZlckFycmF5VHh4OwogICAgIGlmIChhcmdzLkxlbmd0
aCgpID4gMykgewogICAgICAgICBpZiAoIWV4dHJhY3RUcmFuc2ZlcmFibGVzKGFyZ3NbM10sIG1l
c3NhZ2VQb3J0QXJyYXlUeHgsIGFycmF5QnVmZmVyQXJyYXlUeHgsIGFyZ3MuR2V0SXNvbGF0ZSgp
KSkKLSAgICAgICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiQ291bGQgbm90
IGV4dHJhY3QgdHJhbnNmZXJhYmxlcyIpOworICAgICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVy
cm9yKCJDb3VsZCBub3QgZXh0cmFjdCB0cmFuc2ZlcmFibGVzIik7CiAgICAgfQogICAgIGJvb2wg
c2Vjb25kRGlkVGhyb3cgPSBmYWxzZTsKICAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVl
PiBzZWNvbmQgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShhcmdzWzJdLCAmbWVzc2Fn
ZVBvcnRBcnJheVR4eCwgJmFycmF5QnVmZmVyQXJyYXlUeHgsIHNlY29uZERpZFRocm93LCBhcmdz
LkdldElzb2xhdGUoKSk7CkBAIC0yMTMsMTggKzIxMywxOCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpjb25zdHJ1Y3RvckNhbGxi
YWNrKAogICAgIElOQ19TVEFUUygiRE9NLlRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2UuQ29uc3RydWN0b3IiKTsKIAogICAgIGlmICghYXJncy5Jc0NvbnN0cnVjdENhbGwoKSkKLSAg
ICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJET00gb2JqZWN0IGNvbnN0cnVj
dG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4iKTsKKyAgICAgICAgcmV0dXJuIHRo
cm93VHlwZUVycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMg
YSBmdW5jdGlvbi4iKTsKIAogICAgIGlmIChDb25zdHJ1Y3Rvck1vZGU6OmN1cnJlbnQoKSA9PSBD
b25zdHJ1Y3Rvck1vZGU6OldyYXBFeGlzdGluZ09iamVjdCkKICAgICAgICAgcmV0dXJuIGFyZ3Mu
SG9sZGVyKCk7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAyKQotICAgICAgICByZXR1cm4gVjhQ
cm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7Cisg
ICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKICAgICBTVFJJTkdfVE9fVjhQQVJBTUVURVJfRVhDRVBUSU9OX0JMT0NLKFY4UGFyYW1l
dGVyPD4sIGhlbGxvLCBNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNV
bmRlZmluZWQpKTsKICAgICBNZXNzYWdlUG9ydEFycmF5IG1lc3NhZ2VQb3J0QXJyYXlUcmFuc2Zl
ckxpc3Q7CiAgICAgQXJyYXlCdWZmZXJBcnJheSBhcnJheUJ1ZmZlckFycmF5VHJhbnNmZXJMaXN0
OwogICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMikgewogICAgICAgICBpZiAoIWV4dHJhY3RUcmFu
c2ZlcmFibGVzKGFyZ3NbMl0sIG1lc3NhZ2VQb3J0QXJyYXlUcmFuc2Zlckxpc3QsIGFycmF5QnVm
ZmVyQXJyYXlUcmFuc2Zlckxpc3QsIGFyZ3MuR2V0SXNvbGF0ZSgpKSkKLSAgICAgICAgICAgIHJl
dHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiQ291bGQgbm90IGV4dHJhY3QgdHJhbnNmZXJh
YmxlcyIpOworICAgICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKCJDb3VsZCBub3QgZXh0
cmFjdCB0cmFuc2ZlcmFibGVzIik7CiAgICAgfQogICAgIGJvb2wgZGF0YURpZFRocm93ID0gZmFs
c2U7CiAgICAgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gZGF0YSA9IFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZTo6Y3JlYXRlKGFyZ3NbMV0sICZtZXNzYWdlUG9ydEFycmF5VHJhbnNmZXJMaXN0
LCAmYXJyYXlCdWZmZXJBcnJheVRyYW5zZmVyTGlzdCwgZGF0YURpZFRocm93LCBhcmdzLkdldElz
b2xhdGUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EYXRlRXh0
ZW5zaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RhdGVFeHRlbnNpb24uY3Bw
CmluZGV4IGI1OGFmZWMzOTg0MDUxMmFlN2QyNjczNjIwNTM3NjYzYWNiZTVlNjYuLjA3ZjliZjEy
MDlhYTJhYjliZWYxMzg0Zjc2NTM1NmUwNDdjNjk1ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0RhdGVFeHRlbnNpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L0RhdGVFeHRlbnNpb24uY3BwCkBAIC0xMTgsNyArMTE4LDcgQEAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IERhdGVFeHRlbnNpb246OlNldHVwKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFy
Z3MpCiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBEYXRlRXh0ZW5zaW9uOjpPblNsZWVwRGV0ZWN0
ZWQoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKLSAgICByZXR1cm4gVjhQcm94eTo6dGhy
b3dFcnJvcihWOFByb3h5OjpHZW5lcmFsRXJyb3IsICJUb28gbXVjaCB0aW1lIHNwZW50IGluIHVu
bG9hZCBoYW5kbGVyLiIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICByZXR1cm4gdGhyb3dFcnJv
cihHZW5lcmFsRXJyb3IsICJUb28gbXVjaCB0aW1lIHNwZW50IGluIHVubG9hZCBoYW5kbGVyLiIs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIH0KIAogfSAgLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAKaW5kZXggZDA4OTJiZDY1ZDE5N2Fi
YjM3OTJjN2M0MDcxMTI1NzRmZTkwNWQ1My4uN2I0MWNlYmRmMDlhYjBhODQ3MDdkNGY5NGY1MzBm
NDM1MjhhNDU3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBWOE9i
amVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAK
QEAgLTQ4MCw3ICs0ODAsNyBAQCB2b2lkIF9OUE5fU2V0RXhjZXB0aW9uKE5QT2JqZWN0KiBucE9i
amVjdCwgY29uc3QgTlBVVEY4ICptZXNzYWdlKQogICAgIGlmICghbnBPYmplY3QgfHwgbnBPYmpl
Y3QtPl9jbGFzcyAhPSBucFNjcmlwdE9iamVjdENsYXNzKSB7CiAgICAgICAgIC8vIFdlIHdvbid0
IGJlIGFibGUgdG8gZmluZCBhIHByb3BlciBzY29wZSBmb3IgdGhpcyBleGNlcHRpb24sIHNvIGp1
c3QgdGhyb3cgaXQuCiAgICAgICAgIC8vIFRoaXMgaXMgY29uc2lzdGVudCB3aXRoIEpTQywgd2hp
Y2ggdGhyb3dzIGEgZ2xvYmFsIGV4Y2VwdGlvbiBhbGwgdGhlIHRpbWUuCi0gICAgICAgIFY4UHJv
eHk6OnRocm93RXJyb3IoVjhQcm94eTo6R2VuZXJhbEVycm9yLCBtZXNzYWdlKTsKKyAgICAgICAg
dGhyb3dFcnJvcihHZW5lcmFsRXJyb3IsIG1lc3NhZ2UpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKQEAgLTQ5MSw3ICs0OTEsNyBAQCB2
b2lkIF9OUE5fU2V0RXhjZXB0aW9uKE5QT2JqZWN0KiBucE9iamVjdCwgY29uc3QgTlBVVEY4ICpt
ZXNzYWdlKQogICAgIHY4OjpDb250ZXh0OjpTY29wZSBzY29wZShjb250ZXh0KTsKICAgICBFeGNl
cHRpb25DYXRjaGVyIGV4Y2VwdGlvbkNhdGNoZXI7CiAKLSAgICBWOFByb3h5Ojp0aHJvd0Vycm9y
KFY4UHJveHk6OkdlbmVyYWxFcnJvciwgbWVzc2FnZSk7CisgICAgdGhyb3dFcnJvcihHZW5lcmFs
RXJyb3IsIG1lc3NhZ2UpOwogfQogCiBib29sIF9OUE5fRW51bWVyYXRlKE5QUCBucHAsIE5QT2Jq
ZWN0KiBucE9iamVjdCwgTlBJZGVudGlmaWVyKiogaWRlbnRpZmllciwgdWludDMyX3QqIGNvdW50
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlw
dFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRW
YWx1ZS5jcHAKaW5kZXggYTI3NTMyYzdmNDdiNWYyZDEwMGQwMjgzNjk5OTAxYjI3ZTViOTYxZS4u
ODNiYjhmMGIzMjhkOTg1OTIyNjc4ZWVhNWZmNzhiMjRjZWI0Njk1NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC0y
MjIxLDcgKzIyMjEsNyBAQCBQYXNzT3duUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6QXJyYXlC
dWZmZXJDb250ZW50c0FycmF5PiBTZXJpYWxpemVkU2NyaXB0VmFsdQogewogICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgYXJyYXlCdWZmZXJzLnNpemUoKTsgaSsrKSB7CiAgICAgICAgIGlmIChh
cnJheUJ1ZmZlcnNbaV0tPmlzTmV1dGVyZWQoKSkgewotICAgICAgICAgICAgVjhQcm94eTo6c2V0
RE9NRXhjZXB0aW9uKElOVkFMSURfU1RBVEVfRVJSLCBpc29sYXRlKTsKKyAgICAgICAgICAgIHNl
dERPTUV4Y2VwdGlvbihJTlZBTElEX1NUQVRFX0VSUiwgaXNvbGF0ZSk7CiAgICAgICAgICAgICBk
aWRUaHJvdyA9IHRydWU7CiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgfQpA
QCAtMjIzOSw3ICsyMjM5LDcgQEAgUGFzc093blB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU6OkFy
cmF5QnVmZmVyQ29udGVudHNBcnJheT4gU2VyaWFsaXplZFNjcmlwdFZhbHUKIAogICAgICAgICBi
b29sIHJlc3VsdCA9IGFycmF5QnVmZmVyc1tpXS0+dHJhbnNmZXIoY29udGVudHMtPmF0KGkpLCBu
ZXV0ZXJlZFZpZXdzKTsKICAgICAgICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAgICAgIFY4UHJv
eHk6OnNldERPTUV4Y2VwdGlvbihJTlZBTElEX1NUQVRFX0VSUiwgaXNvbGF0ZSk7CisgICAgICAg
ICAgICBzZXRET01FeGNlcHRpb24oSU5WQUxJRF9TVEFURV9FUlIsIGlzb2xhdGUpOwogICAgICAg
ICAgICAgZGlkVGhyb3cgPSB0cnVlOwogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAg
ICAgIH0KQEAgLTIyNzcsMTEgKzIyNzcsMTEgQEAgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpTZXJp
YWxpemVkU2NyaXB0VmFsdWUodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlLAogICAgICAgICAv
LyBJZiB0aGVyZSB3YXMgYW4gaW5wdXQgZXJyb3IsIHRocm93IGEgbmV3IGV4Y2VwdGlvbiBvdXRz
aWRlCiAgICAgICAgIC8vIG9mIHRoZSBUcnlDYXRjaCBzY29wZS4KICAgICAgICAgZGlkVGhyb3cg
PSB0cnVlOwotICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oREFUQV9DTE9ORV9FUlIs
IGlzb2xhdGUpOworICAgICAgICBzZXRET01FeGNlcHRpb24oREFUQV9DTE9ORV9FUlIsIGlzb2xh
dGUpOwogICAgICAgICByZXR1cm47CiAgICAgY2FzZSBTZXJpYWxpemVyOjpJbnZhbGlkU3RhdGVF
cnJvcjoKICAgICAgICAgZGlkVGhyb3cgPSB0cnVlOwotICAgICAgICBWOFByb3h5OjpzZXRET01F
eGNlcHRpb24oSU5WQUxJRF9TVEFURV9FUlIsIGlzb2xhdGUpOworICAgICAgICBzZXRET01FeGNl
cHRpb24oSU5WQUxJRF9TVEFURV9FUlIsIGlzb2xhdGUpOwogICAgICAgICByZXR1cm47CiAgICAg
Y2FzZSBTZXJpYWxpemVyOjpKU0ZhaWx1cmU6CiAgICAgICAgIC8vIElmIHRoZXJlIHdhcyBhIEpT
IGZhaWx1cmUgKGJ1dCBubyBleGNlcHRpb24pLCB0aGVyZSdzIG5vdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4QmluZGluZy5jcHAKaW5kZXggYTVlOTVhODdiZmMwNTljYzUwNDlhZjgzMGM3
NmVkMWZjM2M2YzU3Yy4uMjA3MGZmZGJkZDdjNTJmMWU5YzhhMzRkYmQ0NTY5ZDBjNGI3NjVmMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuY3BwCkBAIC01Miw2ICs1Miwz
MSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBzZXRE
T01FeGNlcHRpb24oaW50IGV4Y2VwdGlvbkNvZGUsIHY4OjpJc29sYXRlKiBpc29sYXRlKQorewor
ICAgIHJldHVybiBWOFRocm93RXhjZXB0aW9uOjpzZXRET01FeGNlcHRpb24oZXhjZXB0aW9uQ29k
ZSwgaXNvbGF0ZSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0aHJvd0Vycm9yKEVycm9y
VHlwZSBlcnJvclR5cGUsIGNvbnN0IGNoYXIqIG1lc3NhZ2UsIHY4OjpJc29sYXRlKiBpc29sYXRl
KQoreworICAgIHJldHVybiBWOFRocm93RXhjZXB0aW9uOjp0aHJvd0Vycm9yKGVycm9yVHlwZSwg
bWVzc2FnZSwgaXNvbGF0ZSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0aHJvd0Vycm9y
KHY4OjpMb2NhbDx2ODo6VmFsdWU+IGV4Y2VwdGlvbiwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCit7
CisgICAgcmV0dXJuIFY4VGhyb3dFeGNlcHRpb246OnRocm93RXJyb3IoZXhjZXB0aW9uLCBpc29s
YXRlKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRocm93VHlwZUVycm9yKGNvbnN0IGNo
YXIqIG1lc3NhZ2UsIHY4OjpJc29sYXRlKiBpc29sYXRlKQoreworICAgIHJldHVybiBWOFRocm93
RXhjZXB0aW9uOjp0aHJvd1R5cGVFcnJvcihtZXNzYWdlLCBpc29sYXRlKTsKK30KKwordjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3Iodjg6Oklzb2xhdGUq
IGlzb2xhdGUpCit7CisgICAgcmV0dXJuIFY4VGhyb3dFeGNlcHRpb246OnRocm93Tm90RW5vdWdo
QXJndW1lbnRzRXJyb3IoaXNvbGF0ZSk7Cit9CisKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogdm9p
ZCBWOFBlcklzb2xhdGVEYXRhOjp2aXNpdEV4dGVybmFsU3RyaW5ncyhFeHRlcm5hbFN0cmluZ1Zp
c2l0b3IqIHZpc2l0b3IpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOEJpbmRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oCmlu
ZGV4IGNhM2FmYjY0OWI2NjZkZTJhNGVkYjEzOTkxNTk1NjY5NDE5MTQ5ZWMuLjdjYTExMTI3MTRj
YjkyYjU0YWI3ZTkzMTNlMGUzYmYwZDEzMDFkMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4QmluZGluZy5oCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiVjhIaWRkZW5Qcm9wZXJ0
eU5hbWUuaCIKICNpbmNsdWRlICJWOFBlcklzb2xhdGVEYXRhLmgiCiAjaW5jbHVkZSAiVjhQcm94
eS5oIgorI2luY2x1ZGUgIlY4VGhyb3dFeGNlcHRpb24uaCIKICNpbmNsdWRlICJWOFZhbHVlQ2Fj
aGUuaCIKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgpAQCAtMTA0LDYgKzEwNSwyMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IGJvb2wgbV9wcmV2aW91czsKICAgICB9OwogCisgICAgLy8gU2NoZWR1bGUgYSBET00gZXhjZXB0
aW9uIHRvIGJlIHRocm93biwgaWYgdGhlIGV4Y2VwdGlvbiBjb2RlIGlzIGRpZmZlcmVudAorICAg
IC8vIGZyb20gemVyby4KKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gc2V0RE9NRXhjZXB0aW9u
KGludCwgdjg6Oklzb2xhdGUqKTsKKworICAgIC8vIFNjaGVkdWxlIGEgSmF2YVNjcmlwdCBlcnJv
ciB0byBiZSB0aHJvd24uCisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRocm93RXJyb3IoRXJy
b3JUeXBlLCBjb25zdCBjaGFyKiwgdjg6Oklzb2xhdGUqID0gMCk7CisKKyAgICAvLyBTY2hlZHVs
ZSBhIEphdmFTY3JpcHQgZXJyb3IgdG8gYmUgdGhyb3duLgorICAgIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiB0aHJvd0Vycm9yKHY4OjpMb2NhbDx2ODo6VmFsdWU+LCB2ODo6SXNvbGF0ZSogPSAwKTsK
KworICAgIC8vIEEgaGVscGVyIGZvciB0aHJvd2luZyBKYXZhU2NyaXB0IFR5cGVFcnJvci4KKyAg
ICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdGhyb3dUeXBlRXJyb3IoY29uc3QgY2hhciogPSAwLCB2
ODo6SXNvbGF0ZSogPSAwKTsKKworICAgIC8vIEEgaGVscGVyIGZvciB0aHJvd2luZyBKYXZhU2Ny
aXB0IFR5cGVFcnJvciBmb3Igbm90IGVub3VnaCBhcmd1bWVudHMuCisgICAgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3Iodjg6Oklzb2xhdGUqKTsKKwog
ICAgIC8vIFNpbmNlIHY4OjpOdWxsKGlzb2xhdGUpIGNyYXNoZXMgaWYgd2UgcGFzcyBhIG51bGwg
aXNvbGF0ZSwKICAgICAvLyB3ZSBuZWVkIHRvIHVzZSB2OE51bGxXaXRoQ2hlY2soaXNvbGF0ZSkg
aWYgYW4gaXNvbGF0ZSBjYW4gYmUgbnVsbC4KICAgICAvLwpAQCAtMjY3LDcgKzI4NCw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjhT
ZXF1ZW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUsIHVpbnQzMl90JiBsZW5ndGgpCiAg
ICAgewogICAgICAgICBpZiAoIXZhbHVlLT5Jc09iamVjdCgpKSB7Ci0gICAgICAgICAgICBWOFBy
b3h5Ojp0aHJvd1R5cGVFcnJvcigpOworICAgICAgICAgICAgdGhyb3dUeXBlRXJyb3IoKTsKICAg
ICAgICAgICAgIHJldHVybiB2OFVuZGVmaW5lZCgpOwogICAgICAgICB9CiAKQEAgLTI3Nyw3ICsy
OTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEVYQ0VQVElPTl9CTE9DSyh2ODo6
TG9jYWw8djg6OlZhbHVlPiwgbGVuZ3RoVmFsdWUsIG9iamVjdC0+R2V0KHY4OjpTdHJpbmc6Ok5l
dygibGVuZ3RoIikpKTsKIAogICAgICAgICBpZiAobGVuZ3RoVmFsdWUtPklzVW5kZWZpbmVkKCkg
fHwgbGVuZ3RoVmFsdWUtPklzTnVsbCgpKSB7Ci0gICAgICAgICAgICBWOFByb3h5Ojp0aHJvd1R5
cGVFcnJvcigpOworICAgICAgICAgICAgdGhyb3dUeXBlRXJyb3IoKTsKICAgICAgICAgICAgIHJl
dHVybiB2OFVuZGVmaW5lZCgpOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4Q29sbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOENvbGxlY3Rpb24uY3BwCmluZGV4IDhkY2JjYzFkZDk1ZDQ2MTgxMGNjZTEwYTllOTMy
MjAyZGJjNTVhZTguLmE3MWRhZTM0YWJlMWU0ZGZhNWEzMGJkMTFiOWE0MjVkODFmNWZmMzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4Q29sbGVjdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhDb2xsZWN0aW9uLmNwcApAQCAtNDgsMTQg
KzQ4LDE0IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b09wdGlvbnNDb2xsZWN0aW9uU2V0dGVy
KHVpbnQzMl90IGluZGV4LCB2ODo6SGFuZGxlPHY4OjpWCiAKICAgICAvLyBDaGVjayB0aGF0IHRo
ZSB2YWx1ZSBpcyBhbiBIVE1MT3B0aW9uRWxlbWVudC4gIElmIG5vdCwgdGhyb3cgYSBUWVBFX01J
U01BVENIX0VSUiBET01FeGNlcHRpb24uCiAgICAgaWYgKCFWOEhUTUxPcHRpb25FbGVtZW50OjpI
YXNJbnN0YW5jZSh2YWx1ZSkpIHsKLSAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFRZ
UEVfTUlTTUFUQ0hfRVJSLCBpc29sYXRlKTsKKyAgICAgICAgc2V0RE9NRXhjZXB0aW9uKFRZUEVf
TUlTTUFUQ0hfRVJSLCBpc29sYXRlKTsKICAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgIH0KIAog
ICAgIEhUTUxPcHRpb25FbGVtZW50KiBlbGVtZW50ID0gVjhIVE1MT3B0aW9uRWxlbWVudDo6dG9O
YXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdCh2YWx1ZSkpOwogICAgIGJhc2UtPnNl
dE9wdGlvbihpbmRleCwgZWxlbWVudCwgZWMpOwogCi0gICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0
aW9uKGVjLCBpc29sYXRlKTsKKyAgICBzZXRET01FeGNlcHRpb24oZWMsIGlzb2xhdGUpOwogICAg
IHJldHVybiB2YWx1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhOUE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOE5QT2JqZWN0
LmNwcAppbmRleCAzZmVlNzkwZjRkOTIyOGNjNTAxNjgwYWViMGRiNDk1MGIxYzEzY2E4Li4xZWQ3
OThjNWE5NmY1Y2QzYjRlOTk4ZjYyYzk5OWM4MTllODU2ZDcwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOE5QT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOE5QT2JqZWN0LmNwcApAQCAtOTEsMTQgKzkxLDE0IEBAIHN0YXRpYyB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gbnBPYmplY3RJbnZva2VJbXBsKGNvbnN0IHY4OjpBcmd1bWVudHMm
IGFyZ3MsIEludm9rCiAgICAgICAgIC8vIFRoZSBob2xkZXIgb2JqZWN0IGlzIG5vdCBhIHN1YnR5
cGUgb2YgSFRNTFBsdWdJbkVsZW1lbnQsIGl0IG11c3QgYmUgYW4gTlBPYmplY3Qgd2hpY2ggaGFz
IHRocmVlCiAgICAgICAgIC8vIGludGVybmFsIGZpZWxkcy4KICAgICAgICAgaWYgKGFyZ3MuSG9s
ZGVyKCktPkludGVybmFsRmllbGRDb3VudCgpICE9IG5wT2JqZWN0SW50ZXJuYWxGaWVsZENvdW50
KQotICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6UmVmZXJl
bmNlRXJyb3IsICJOUE1ldGhvZCBjYWxsZWQgb24gbm9uLU5QT2JqZWN0IiwgYXJncy5HZXRJc29s
YXRlKCkpOworICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoUmVmZXJlbmNlRXJyb3IsICJO
UE1ldGhvZCBjYWxsZWQgb24gbm9uLU5QT2JqZWN0IiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAg
ICAgICAgIG5wT2JqZWN0ID0gdjhPYmplY3RUb05QT2JqZWN0KGFyZ3MuSG9sZGVyKCkpOwogICAg
IH0KIAogICAgIC8vIFZlcmlmeSB0aGF0IG91ciB3cmFwcGVyIHdhc24ndCB1c2luZyBhIE5QT2Jq
ZWN0IHdoaWNoIGhhcyBhbHJlYWR5IGJlZW4gZGVsZXRlZC4KICAgICBpZiAoIW5wT2JqZWN0IHx8
ICFfTlBOX0lzQWxpdmUobnBPYmplY3QpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dF
cnJvcihWOFByb3h5OjpSZWZlcmVuY2VFcnJvciwgIk5QT2JqZWN0IGRlbGV0ZWQiLCBhcmdzLkdl
dElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFJlZmVyZW5jZUVycm9yLCAi
TlBPYmplY3QgZGVsZXRlZCIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIC8vIFdyYXAgdXAg
cGFyYW1ldGVycy4KICAgICBpbnQgbnVtQXJncyA9IGFyZ3MuTGVuZ3RoKCk7CkBAIC0xMzIsNyAr
MTMyLDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBucE9iamVjdEludm9rZUltcGwo
Y29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywgSW52b2sKICAgICB9CiAKICAgICBpZiAoIXJldHZh
bCkKLSAgICAgICAgVjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpHZW5lcmFsRXJyb3IsICJF
cnJvciBjYWxsaW5nIG1ldGhvZCBvbiBOUE9iamVjdC4iLCBhcmdzLkdldElzb2xhdGUoKSk7Cisg
ICAgICAgIHRocm93RXJyb3IoR2VuZXJhbEVycm9yLCAiRXJyb3IgY2FsbGluZyBtZXRob2Qgb24g
TlBPYmplY3QuIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgZm9yIChpbnQgaSA9IDA7IGkg
PCBudW1BcmdzOyBpKyspCiAgICAgICAgIF9OUE5fUmVsZWFzZVZhcmlhbnRWYWx1ZSgmbnBBcmdz
W2ldKTsKQEAgLTE4OSwxMiArMTg5LDEyIEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
bnBPYmplY3RHZXRQcm9wZXJ0eSh2ODo6TG9jYWw8djg6Ok9iamVjdD4gc2VsZiwgTlBJCiAgICAg
Ly8gVmVyaWZ5IHRoYXQgb3VyIHdyYXBwZXIgd2Fzbid0IHVzaW5nIGEgTlBPYmplY3Qgd2hpY2gK
ICAgICAvLyBoYXMgYWxyZWFkeSBiZWVuIGRlbGV0ZWQuCiAgICAgaWYgKCFucE9iamVjdCB8fCAh
X05QTl9Jc0FsaXZlKG5wT2JqZWN0KSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJy
b3IoVjhQcm94eTo6UmVmZXJlbmNlRXJyb3IsICJOUE9iamVjdCBkZWxldGVkIiwgaXNvbGF0ZSk7
CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFJlZmVyZW5jZUVycm9yLCAiTlBPYmplY3QgZGVs
ZXRlZCIsIGlzb2xhdGUpOwogCiAKICAgICBpZiAobnBPYmplY3QtPl9jbGFzcy0+aGFzUHJvcGVy
dHkgJiYgbnBPYmplY3QtPl9jbGFzcy0+Z2V0UHJvcGVydHkgJiYgbnBPYmplY3QtPl9jbGFzcy0+
aGFzUHJvcGVydHkobnBPYmplY3QsIGlkZW50aWZpZXIpKSB7CiAgICAgICAgIGlmICghX05QTl9J
c0FsaXZlKG5wT2JqZWN0KSkKLSAgICAgICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd0Vycm9y
KFY4UHJveHk6OlJlZmVyZW5jZUVycm9yLCAiTlBPYmplY3QgZGVsZXRlZCIsIGlzb2xhdGUpOwor
ICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoUmVmZXJlbmNlRXJyb3IsICJOUE9iamVjdCBk
ZWxldGVkIiwgaXNvbGF0ZSk7CiAKICAgICAgICAgTlBWYXJpYW50IHJlc3VsdDsKICAgICAgICAg
Vk9JRF9UT19OUFZBUklBTlQocmVzdWx0KTsKQEAgLTIxMCwxMSArMjEwLDExIEBAIHN0YXRpYyB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gbnBPYmplY3RHZXRQcm9wZXJ0eSh2ODo6TG9jYWw8djg6Ok9i
amVjdD4gc2VsZiwgTlBJCiAgICAgfQogCiAgICAgaWYgKCFfTlBOX0lzQWxpdmUobnBPYmplY3Qp
KQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpSZWZlcmVuY2VF
cnJvciwgIk5QT2JqZWN0IGRlbGV0ZWQiLCBpc29sYXRlKTsKKyAgICAgICAgcmV0dXJuIHRocm93
RXJyb3IoUmVmZXJlbmNlRXJyb3IsICJOUE9iamVjdCBkZWxldGVkIiwgaXNvbGF0ZSk7CiAKICAg
ICBpZiAoa2V5LT5Jc1N0cmluZygpICYmIG5wT2JqZWN0LT5fY2xhc3MtPmhhc01ldGhvZCAmJiBu
cE9iamVjdC0+X2NsYXNzLT5oYXNNZXRob2QobnBPYmplY3QsIGlkZW50aWZpZXIpKSB7CiAgICAg
ICAgIGlmICghX05QTl9Jc0FsaXZlKG5wT2JqZWN0KSkKLSAgICAgICAgICAgIHJldHVybiBWOFBy
b3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJlZmVyZW5jZUVycm9yLCAiTlBPYmplY3QgZGVsZXRl
ZCIsIGlzb2xhdGUpOworICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoUmVmZXJlbmNlRXJy
b3IsICJOUE9iamVjdCBkZWxldGVkIiwgaXNvbGF0ZSk7CiAKICAgICAgICAgUHJpdmF0ZUlkZW50
aWZpZXIqIGlkID0gc3RhdGljX2Nhc3Q8UHJpdmF0ZUlkZW50aWZpZXIqPihpZGVudGlmaWVyKTsK
ICAgICAgICAgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IGZ1bmN0aW9uVGVt
cGxhdGUgPSBzdGF0aWNUZW1wbGF0ZU1hcCgpLmdldChpZCk7CkBAIC0yNzIsMTMgKzI3MiwxMyBA
QCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG5wT2JqZWN0U2V0UHJvcGVydHkodjg6Okxv
Y2FsPHY4OjpPYmplY3Q+IHNlbGYsIE5QSQogCiAgICAgLy8gVmVyaWZ5IHRoYXQgb3VyIHdyYXBw
ZXIgd2Fzbid0IHVzaW5nIGEgTlBPYmplY3Qgd2hpY2ggaGFzIGFscmVhZHkgYmVlbiBkZWxldGVk
LgogICAgIGlmICghbnBPYmplY3QgfHwgIV9OUE5fSXNBbGl2ZShucE9iamVjdCkpIHsKLSAgICAg
ICAgVjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpSZWZlcmVuY2VFcnJvciwgIk5QT2JqZWN0
IGRlbGV0ZWQiLCBpc29sYXRlKTsKKyAgICAgICAgdGhyb3dFcnJvcihSZWZlcmVuY2VFcnJvciwg
Ik5QT2JqZWN0IGRlbGV0ZWQiLCBpc29sYXRlKTsKICAgICAgICAgcmV0dXJuIHZhbHVlOyAgLy8g
SW50ZXJjZXB0ZWQsIGJ1dCBhbiBleGNlcHRpb24gd2FzIHRocm93bi4KICAgICB9CiAKICAgICBp
ZiAobnBPYmplY3QtPl9jbGFzcy0+aGFzUHJvcGVydHkgJiYgbnBPYmplY3QtPl9jbGFzcy0+c2V0
UHJvcGVydHkgJiYgbnBPYmplY3QtPl9jbGFzcy0+aGFzUHJvcGVydHkobnBPYmplY3QsIGlkZW50
aWZpZXIpKSB7CiAgICAgICAgIGlmICghX05QTl9Jc0FsaXZlKG5wT2JqZWN0KSkKLSAgICAgICAg
ICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJlZmVyZW5jZUVycm9yLCAi
TlBPYmplY3QgZGVsZXRlZCIsIGlzb2xhdGUpOworICAgICAgICAgICAgcmV0dXJuIHRocm93RXJy
b3IoUmVmZXJlbmNlRXJyb3IsICJOUE9iamVjdCBkZWxldGVkIiwgaXNvbGF0ZSk7CiAKICAgICAg
ICAgTlBWYXJpYW50IG5wVmFsdWU7CiAgICAgICAgIFZPSURfVE9fTlBWQVJJQU5UKG5wVmFsdWUp
OwpAQCAtMzI0LDcgKzMyNCw3IEBAIHY4OjpIYW5kbGU8djg6OkFycmF5PiBucE9iamVjdFByb3Bl
cnR5RW51bWVyYXRvcihjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvLCBiCiAgICAgLy8gVmVy
aWZ5IHRoYXQgb3VyIHdyYXBwZXIgd2Fzbid0IHVzaW5nIGEgTlBPYmplY3Qgd2hpY2gKICAgICAv
LyBoYXMgYWxyZWFkeSBiZWVuIGRlbGV0ZWQuCiAgICAgaWYgKCFucE9iamVjdCB8fCAhX05QTl9J
c0FsaXZlKG5wT2JqZWN0KSkKLSAgICAgICAgVjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpS
ZWZlcmVuY2VFcnJvciwgIk5QT2JqZWN0IGRlbGV0ZWQiLCBpbmZvLkdldElzb2xhdGUoKSk7Cisg
ICAgICAgIHRocm93RXJyb3IoUmVmZXJlbmNlRXJyb3IsICJOUE9iamVjdCBkZWxldGVkIiwgaW5m
by5HZXRJc29sYXRlKCkpOwogCiAgICAgaWYgKE5QX0NMQVNTX1NUUlVDVF9WRVJTSU9OX0hBU19F
TlVNKG5wT2JqZWN0LT5fY2xhc3MpICYmIG5wT2JqZWN0LT5fY2xhc3MtPmVudW1lcmF0ZSkgewog
ICAgICAgICB1aW50MzJfdCBjb3VudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4Tm9kZUZpbHRlckNvbmRpdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOE5vZGVGaWx0ZXJDb25kaXRpb24uY3BwCmluZGV4IDcwZGI0N2RlMmQwNDZkMmRmZDBk
Y2UxNWQ1YjQ2ODgzMDAxNzFmZDAuLjljMDc3MzExOGZlMzEwMDc1YWRjN2EyYTA3MWZkYWFhNWU0
ZjczMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4Tm9kZUZpbHRl
ckNvbmRpdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhOb2RlRmls
dGVyQ29uZGl0aW9uLmNwcApAQCAtNzMsNyArNzMsNyBAQCBzaG9ydCBWOE5vZGVGaWx0ZXJDb25k
aXRpb246OmFjY2VwdE5vZGUoU2NyaXB0U3RhdGUqIHN0YXRlLCBOb2RlKiBub2RlKSBjb25zdAog
ICAgIGVsc2UgewogICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSA9IG1fZmlsdGVy
LT5Ub09iamVjdCgpLT5HZXQodjg6OlN0cmluZzo6TmV3KCJhY2NlcHROb2RlIikpOwogICAgICAg
ICBpZiAoIXZhbHVlLT5Jc0Z1bmN0aW9uKCkpIHsKLSAgICAgICAgICAgIFY4UHJveHk6OnRocm93
VHlwZUVycm9yKCJOb2RlRmlsdGVyIG9iamVjdCBkb2VzIG5vdCBoYXZlIGFuIGFjY2VwdE5vZGUg
ZnVuY3Rpb24iKTsKKyAgICAgICAgICAgIHRocm93VHlwZUVycm9yKCJOb2RlRmlsdGVyIG9iamVj
dCBkb2VzIG5vdCBoYXZlIGFuIGFjY2VwdE5vZGUgZnVuY3Rpb24iKTsKICAgICAgICAgICAgIHJl
dHVybiBOb2RlRmlsdGVyOjpGSUxURVJfUkVKRUNUOwogICAgICAgICB9CiAgICAgICAgIGNhbGxi
YWNrID0gdjg6OkhhbmRsZTx2ODo6RnVuY3Rpb24+OjpDYXN0KHZhbHVlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhQcm94eS5jcHAKaW5kZXggNjgzMjkyODEyZTVkYmNmZWI1YmZkZWFlM2Iz
NmNlZTA1YTI5NWNiNi4uYzQyNGFmODIwNTQ3NzBiY2I4MjAwOGZjNjBlZTJiZmUzYzkyZjRiYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5jcHAKQEAgLTExNCw3ICsxMTQsNyBA
QCBzdGF0aWMgdm9pZCBoYW5kbGVGYXRhbEVycm9ySW5WOCgpCiAKIHN0YXRpYyB2ODo6TG9jYWw8
djg6OlZhbHVlPiBoYW5kbGVNYXhSZWN1cnNpb25EZXB0aEV4Y2VlZGVkKCkKIHsKLSAgICBWOFBy
b3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJhbmdlRXJyb3IsICJNYXhpbXVtIGNhbGwgc3RhY2sg
c2l6ZSBleGNlZWRlZC4iKTsKKyAgICB0aHJvd0Vycm9yKFJhbmdlRXJyb3IsICJNYXhpbXVtIGNh
bGwgc3RhY2sgc2l6ZSBleGNlZWRlZC4iKTsKICAgICByZXR1cm4gdjg6OkxvY2FsPHY4OjpWYWx1
ZT4oKTsKIH0KIApAQCAtNDcxLDgzICs0NzEsNiBAQCB2b2lkIFY4UHJveHk6OmNsZWFyRm9yTmF2
aWdhdGlvbigpCiAgICAgd2luZG93U2hlbGwoKS0+Y2xlYXJGb3JOYXZpZ2F0aW9uKCk7CiB9CiAK
LXN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gRE9NRXhjZXB0aW9uU3RhY2tHZXR0ZXIodjg6
OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCi17
Ci0gICAgQVNTRVJUKGluZm8uRGF0YSgpLT5Jc09iamVjdCgpKTsKLSAgICByZXR1cm4gaW5mby5E
YXRhKCktPlRvT2JqZWN0KCktPkdldCh2OFN0cmluZygic3RhY2siLCBpbmZvLkdldElzb2xhdGUo
KSkpOwotfQotCi1zdGF0aWMgdm9pZCBET01FeGNlcHRpb25TdGFja1NldHRlcih2ODo6TG9jYWw8
djg6OlN0cmluZz4gbmFtZSwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGNvbnN0IHY4OjpB
Y2Nlc3NvckluZm8mIGluZm8pCi17Ci0gICAgQVNTRVJUKGluZm8uRGF0YSgpLT5Jc09iamVjdCgp
KTsKLSAgICBpbmZvLkRhdGEoKS0+VG9PYmplY3QoKS0+U2V0KHY4U3RyaW5nKCJzdGFjayIsIGlu
Zm8uR2V0SXNvbGF0ZSgpKSwgdmFsdWUpOwotfQotCi0jZGVmaW5lIFRSWV9UT19DUkVBVEVfRVhD
RVBUSU9OKGludGVyZmFjZU5hbWUpIFwKLSAgICBjYXNlIGludGVyZmFjZU5hbWUjI1R5cGU6IFwK
LSAgICAgICAgZXhjZXB0aW9uID0gdG9WOChpbnRlcmZhY2VOYW1lOjpjcmVhdGUoZGVzY3JpcHRp
b24pLCBpc29sYXRlKTsgXAotICAgICAgICBicmVhazsKLQotdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihpbnQgZWMsIHY4OjpJc29sYXRlKiBpc29sYXRlKQot
ewotICAgIGlmIChlYyA8PSAwIHx8IHY4OjpWODo6SXNFeGVjdXRpb25UZXJtaW5hdGluZygpKQot
ICAgICAgICByZXR1cm4gdjhVbmRlZmluZWQoKTsKLQotICAgIGlmIChlYyA9PSBOQVRJVkVfVFlQ
RV9FUlIpIHsKLSAgICAgICAgY29uc3QgY2hhciogbWVzc2FnZSA9IDA7Ci0gICAgICAgIHJldHVy
biB0aHJvd1R5cGVFcnJvcihtZXNzYWdlLCBpc29sYXRlKTsKLSAgICB9Ci0KLSAgICBFeGNlcHRp
b25Db2RlRGVzY3JpcHRpb24gZGVzY3JpcHRpb24oZWMpOwotCi0gICAgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IGV4Y2VwdGlvbjsKLSAgICBzd2l0Y2ggKGRlc2NyaXB0aW9uLnR5cGUpIHsKLSAgICAg
ICAgRE9NX0VYQ0VQVElPTl9JTlRFUkZBQ0VTX0ZPUl9FQUNIKFRSWV9UT19DUkVBVEVfRVhDRVBU
SU9OKQotICAgIH0KLQotICAgIGlmIChleGNlcHRpb24uSXNFbXB0eSgpKQotICAgICAgICByZXR1
cm4gdjhVbmRlZmluZWQoKTsKLQotICAgIC8vIEF0dGFjaCBhbiBFcnJvciBvYmplY3QgdG8gdGhl
IERPTUV4Y2VwdGlvbi4gVGhpcyBpcyB0aGVuIGxhemlseSB1c2VkIHRvIGdldCB0aGUgc3RhY2sg
dmFsdWUuCi0gICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGVycm9yID0gdjg6OkV4Y2VwdGlvbjo6
RXJyb3IodjhTdHJpbmcoZGVzY3JpcHRpb24uZGVzY3JpcHRpb24sIGlzb2xhdGUpKTsKLSAgICBB
U1NFUlQoIWVycm9yLklzRW1wdHkoKSk7Ci0gICAgQVNTRVJUKGV4Y2VwdGlvbi0+SXNPYmplY3Qo
KSk7Ci0gICAgZXhjZXB0aW9uLT5Ub09iamVjdCgpLT5TZXRBY2Nlc3Nvcih2OFN0cmluZygic3Rh
Y2siLCBpc29sYXRlKSwgRE9NRXhjZXB0aW9uU3RhY2tHZXR0ZXIsIERPTUV4Y2VwdGlvblN0YWNr
U2V0dGVyLCBlcnJvcik7Ci0KLSAgICByZXR1cm4gdjg6OlRocm93RXhjZXB0aW9uKGV4Y2VwdGlv
bik7Ci19Ci0KLSN1bmRlZiBUUllfVE9fQ1JFQVRFX0VYQ0VQVElPTgotCi12ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhQcm94eTo6dGhyb3dFcnJvcihFcnJvclR5cGUgdHlwZSwgY29uc3QgY2hhciog
bWVzc2FnZSwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCi17Ci0gICAgc3dpdGNoICh0eXBlKSB7Ci0g
ICAgY2FzZSBSYW5nZUVycm9yOgotICAgICAgICByZXR1cm4gdjg6OlRocm93RXhjZXB0aW9uKHY4
OjpFeGNlcHRpb246OlJhbmdlRXJyb3IodjhTdHJpbmcobWVzc2FnZSwgaXNvbGF0ZSkpKTsKLSAg
ICBjYXNlIFJlZmVyZW5jZUVycm9yOgotICAgICAgICByZXR1cm4gdjg6OlRocm93RXhjZXB0aW9u
KHY4OjpFeGNlcHRpb246OlJlZmVyZW5jZUVycm9yKHY4U3RyaW5nKG1lc3NhZ2UsIGlzb2xhdGUp
KSk7Ci0gICAgY2FzZSBTeW50YXhFcnJvcjoKLSAgICAgICAgcmV0dXJuIHY4OjpUaHJvd0V4Y2Vw
dGlvbih2ODo6RXhjZXB0aW9uOjpTeW50YXhFcnJvcih2OFN0cmluZyhtZXNzYWdlLCBpc29sYXRl
KSkpOwotICAgIGNhc2UgVHlwZUVycm9yOgotICAgICAgICByZXR1cm4gdjg6OlRocm93RXhjZXB0
aW9uKHY4OjpFeGNlcHRpb246OlR5cGVFcnJvcih2OFN0cmluZyhtZXNzYWdlLCBpc29sYXRlKSkp
OwotICAgIGNhc2UgR2VuZXJhbEVycm9yOgotICAgICAgICByZXR1cm4gdjg6OlRocm93RXhjZXB0
aW9uKHY4OjpFeGNlcHRpb246OkVycm9yKHY4U3RyaW5nKG1lc3NhZ2UsIGlzb2xhdGUpKSk7Ci0g
ICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVy
biB2OFVuZGVmaW5lZCgpOwotICAgIH0KLX0KLQotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4UHJv
eHk6OnRocm93VHlwZUVycm9yKGNvbnN0IGNoYXIqIG1lc3NhZ2UsIHY4OjpJc29sYXRlKiBpc29s
YXRlKQotewotICAgIHJldHVybiB0aHJvd0Vycm9yKFR5cGVFcnJvciwgKG1lc3NhZ2UgPyBtZXNz
YWdlIDogIlR5cGUgZXJyb3IiKSwgaXNvbGF0ZSk7Ci19Ci0KLXY4OjpIYW5kbGU8djg6OlZhbHVl
PiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKHY4OjpJc29sYXRlKiBpc29s
YXRlKQotewotICAgIHJldHVybiB0aHJvd0Vycm9yKFR5cGVFcnJvciwgIk5vdCBlbm91Z2ggYXJn
dW1lbnRzIiwgaXNvbGF0ZSk7Ci19Ci0KIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gVjhQcm94eTo6
Y29udGV4dChGcmFtZSogZnJhbWUpCiB7CiAgICAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBjb250
ZXh0ID0gVjhQcm94eTo6bWFpbldvcmxkQ29udGV4dChmcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOFByb3h5LmgKaW5kZXggZDJlNmRlZDMxOWNiMjU1ODRmMmM1N2NhMWJkZjY3NGNiMTE3
MmQ3NC4uMzgxZjgwZTI0MmM1Zjk3N2IzYjU4ZjUxYTJmZTMzNjJmYTRiNmExMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuaApAQCAtODQsMTUgKzg0LDYgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgY2xhc3MgVjhQcm94eSB7CiAgICAgcHVibGljOgotICAgICAgICAvLyBU
aGUgdHlwZXMgb2YgamF2YXNjcmlwdCBlcnJvcnMgdGhhdCBjYW4gYmUgdGhyb3duLgotICAgICAg
ICBlbnVtIEVycm9yVHlwZSB7Ci0gICAgICAgICAgICBSYW5nZUVycm9yLAotICAgICAgICAgICAg
UmVmZXJlbmNlRXJyb3IsCi0gICAgICAgICAgICBTeW50YXhFcnJvciwKLSAgICAgICAgICAgIFR5
cGVFcnJvciwKLSAgICAgICAgICAgIEdlbmVyYWxFcnJvcgotICAgICAgICB9OwotCiAgICAgICAg
IGV4cGxpY2l0IFY4UHJveHkoRnJhbWUqKTsKIAogICAgICAgICB+VjhQcm94eSgpOwpAQCAtMTQ5
LDE3ICsxNDAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgc3RhdGljIHY4OjpI
YW5kbGU8djg6OlNjcmlwdD4gY29tcGlsZVNjcmlwdCh2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGNv
ZGUsIGNvbnN0IFN0cmluZyYgZmlsZU5hbWUsIGNvbnN0IFRleHRQb3NpdGlvbiYgc2NyaXB0U3Rh
cnRQb3NpdGlvbiwgdjg6OlNjcmlwdERhdGEqID0gMCk7CiAKLSAgICAgICAgLy8gSWYgdGhlIGV4
Y2VwdGlvbiBjb2RlIGlzIGRpZmZlcmVudCBmcm9tIHplcm8sIGEgRE9NIGV4Y2VwdGlvbiBpcwot
ICAgICAgICAvLyBzY2hlZHVsZSB0byBiZSB0aHJvd24uCi0gICAgICAgIHN0YXRpYyB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gc2V0RE9NRXhjZXB0aW9uKGludCBleGNlcHRpb25Db2RlLCB2ODo6SXNv
bGF0ZSopOwotCi0gICAgICAgIC8vIFNjaGVkdWxlIGFuIGVycm9yIG9iamVjdCB0byBiZSB0aHJv
d24uCi0gICAgICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdGhyb3dFcnJvcihFcnJv
clR5cGUsIGNvbnN0IGNoYXIqIG1lc3NhZ2UsIHY4OjpJc29sYXRlKiA9IDApOwotCi0gICAgICAg
IC8vIEhlbHBlcnMgZm9yIHRocm93aW5nIHN5bnRheCBhbmQgdHlwZSBlcnJvcnMgd2l0aCBwcmVk
ZWZpbmVkIG1lc3NhZ2VzLgotICAgICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRo
cm93VHlwZUVycm9yKGNvbnN0IGNoYXIqID0gMCwgdjg6Oklzb2xhdGUqID0gMCk7Ci0gICAgICAg
IHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJv
cih2ODo6SXNvbGF0ZSopOwotCiAgICAgICAgIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gY29udGV4
dCgpOwogICAgICAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IG1haW5Xb3JsZENvbnRleHQoKTsK
ICAgICAgICAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBpc29sYXRlZFdvcmxkQ29udGV4dChpbnQg
d29ybGRJZCk7CkBAIC0yMDksMTMgKzE4OSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB9
OwogCiAgICAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiB0b1Y4Q29udGV4dChTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiwgY29uc3QgV29ybGRDb250ZXh0SGFuZGxlJiB3b3JsZENvbnRleHQpOwotCi0g
ICAgaW5saW5lIHY4OjpIYW5kbGU8djg6OlByaW1pdGl2ZT4gdGhyb3dFcnJvcih2ODo6TG9jYWw8
djg6OlZhbHVlPiBleGNlcHRpb24sIHY4OjpJc29sYXRlKiBpc29sYXRlID0gMCkKLSAgICB7Ci0g
ICAgICAgIGlmICghdjg6OlY4OjpJc0V4ZWN1dGlvblRlcm1pbmF0aW5nKCkpCi0gICAgICAgICAg
ICB2ODo6VGhyb3dFeGNlcHRpb24oZXhjZXB0aW9uKTsKLSAgICAgICAgcmV0dXJuIHY4OjpVbmRl
ZmluZWQoKTsKLSAgICB9CiB9CiAKICNlbmRpZiAvLyBWOFByb3h5X2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4VGhyb3dFeGNlcHRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhUaHJvd0V4Y2VwdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODcwNzZj
OWNjY2I3Y2QyZjRmMWFkN2M5MTBjOTExMjE3NjlkYTc2OQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4VGhyb3dFeGNlcHRpb24uY3BwCkBAIC0wLDAgKzEs
MTE4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiAKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJW
OFRocm93RXhjZXB0aW9uLmgiCisKKyNpbmNsdWRlICJFeGNlcHRpb25IZWFkZXJzLmgiCisjaW5j
bHVkZSAiRXhjZXB0aW9uSW50ZXJmYWNlcy5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gRE9NRXhj
ZXB0aW9uU3RhY2tHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpB
Y2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgQVNTRVJUKGluZm8uRGF0YSgpLT5Jc09iamVjdCgp
KTsKKyAgICByZXR1cm4gaW5mby5EYXRhKCktPlRvT2JqZWN0KCktPkdldCh2OFN0cmluZygic3Rh
Y2siLCBpbmZvLkdldElzb2xhdGUoKSkpOworfQorCitzdGF0aWMgdm9pZCBET01FeGNlcHRpb25T
dGFja1NldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgdjg6OkxvY2FsPHY4OjpWYWx1
ZT4gdmFsdWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgQVNTRVJUKGlu
Zm8uRGF0YSgpLT5Jc09iamVjdCgpKTsKKyAgICBpbmZvLkRhdGEoKS0+VG9PYmplY3QoKS0+U2V0
KHY4U3RyaW5nKCJzdGFjayIsIGluZm8uR2V0SXNvbGF0ZSgpKSwgdmFsdWUpOworfQorCisjZGVm
aW5lIFRSWV9UT19DUkVBVEVfRVhDRVBUSU9OKGludGVyZmFjZU5hbWUpIFwKKyAgICBjYXNlIGlu
dGVyZmFjZU5hbWUjI1R5cGU6IFwKKyAgICAgICAgZXhjZXB0aW9uID0gdG9WOChpbnRlcmZhY2VO
YW1lOjpjcmVhdGUoZGVzY3JpcHRpb24pLCBpc29sYXRlKTsgXAorICAgICAgICBicmVhazsKKwor
djg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4VGhyb3dFeGNlcHRpb246OnNldERPTUV4Y2VwdGlvbihp
bnQgZWMsIHY4OjpJc29sYXRlKiBpc29sYXRlKQoreworICAgIGlmIChlYyA8PSAwIHx8IHY4OjpW
ODo6SXNFeGVjdXRpb25UZXJtaW5hdGluZygpKQorICAgICAgICByZXR1cm4gdjhVbmRlZmluZWQo
KTsKKworICAgIGlmIChlYyA9PSBOQVRJVkVfVFlQRV9FUlIpIHsKKyAgICAgICAgY29uc3QgY2hh
ciogbWVzc2FnZSA9IDA7CisgICAgICAgIHJldHVybiBWOFRocm93RXhjZXB0aW9uOjp0aHJvd1R5
cGVFcnJvcihtZXNzYWdlLCBpc29sYXRlKTsKKyAgICB9CisKKyAgICBFeGNlcHRpb25Db2RlRGVz
Y3JpcHRpb24gZGVzY3JpcHRpb24oZWMpOworCisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGV4
Y2VwdGlvbjsKKyAgICBzd2l0Y2ggKGRlc2NyaXB0aW9uLnR5cGUpIHsKKyAgICAgICAgRE9NX0VY
Q0VQVElPTl9JTlRFUkZBQ0VTX0ZPUl9FQUNIKFRSWV9UT19DUkVBVEVfRVhDRVBUSU9OKQorICAg
IH0KKworICAgIGlmIChleGNlcHRpb24uSXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gdjhVbmRl
ZmluZWQoKTsKKworICAgIC8vIEF0dGFjaCBhbiBFcnJvciBvYmplY3QgdG8gdGhlIERPTUV4Y2Vw
dGlvbi4gVGhpcyBpcyB0aGVuIGxhemlseSB1c2VkIHRvIGdldCB0aGUgc3RhY2sgdmFsdWUuCisg
ICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGVycm9yID0gdjg6OkV4Y2VwdGlvbjo6RXJyb3IodjhT
dHJpbmcoZGVzY3JpcHRpb24uZGVzY3JpcHRpb24sIGlzb2xhdGUpKTsKKyAgICBBU1NFUlQoIWVy
cm9yLklzRW1wdHkoKSk7CisgICAgQVNTRVJUKGV4Y2VwdGlvbi0+SXNPYmplY3QoKSk7CisgICAg
ZXhjZXB0aW9uLT5Ub09iamVjdCgpLT5TZXRBY2Nlc3Nvcih2OFN0cmluZygic3RhY2siLCBpc29s
YXRlKSwgRE9NRXhjZXB0aW9uU3RhY2tHZXR0ZXIsIERPTUV4Y2VwdGlvblN0YWNrU2V0dGVyLCBl
cnJvcik7CisKKyAgICByZXR1cm4gdjg6OlRocm93RXhjZXB0aW9uKGV4Y2VwdGlvbik7Cit9CisK
KyN1bmRlZiBUUllfVE9fQ1JFQVRFX0VYQ0VQVElPTgorCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
VjhUaHJvd0V4Y2VwdGlvbjo6dGhyb3dFcnJvcihFcnJvclR5cGUgdHlwZSwgY29uc3QgY2hhciog
bWVzc2FnZSwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCit7CisgICAgc3dpdGNoICh0eXBlKSB7Cisg
ICAgY2FzZSBSYW5nZUVycm9yOgorICAgICAgICByZXR1cm4gdjg6OlRocm93RXhjZXB0aW9uKHY4
OjpFeGNlcHRpb246OlJhbmdlRXJyb3IodjhTdHJpbmcobWVzc2FnZSwgaXNvbGF0ZSkpKTsKKyAg
ICBjYXNlIFJlZmVyZW5jZUVycm9yOgorICAgICAgICByZXR1cm4gdjg6OlRocm93RXhjZXB0aW9u
KHY4OjpFeGNlcHRpb246OlJlZmVyZW5jZUVycm9yKHY4U3RyaW5nKG1lc3NhZ2UsIGlzb2xhdGUp
KSk7CisgICAgY2FzZSBTeW50YXhFcnJvcjoKKyAgICAgICAgcmV0dXJuIHY4OjpUaHJvd0V4Y2Vw
dGlvbih2ODo6RXhjZXB0aW9uOjpTeW50YXhFcnJvcih2OFN0cmluZyhtZXNzYWdlLCBpc29sYXRl
KSkpOworICAgIGNhc2UgVHlwZUVycm9yOgorICAgICAgICByZXR1cm4gdjg6OlRocm93RXhjZXB0
aW9uKHY4OjpFeGNlcHRpb246OlR5cGVFcnJvcih2OFN0cmluZyhtZXNzYWdlLCBpc29sYXRlKSkp
OworICAgIGNhc2UgR2VuZXJhbEVycm9yOgorICAgICAgICByZXR1cm4gdjg6OlRocm93RXhjZXB0
aW9uKHY4OjpFeGNlcHRpb246OkVycm9yKHY4U3RyaW5nKG1lc3NhZ2UsIGlzb2xhdGUpKSk7Cisg
ICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVy
biB2OFVuZGVmaW5lZCgpOworICAgIH0KK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4VGhy
b3dFeGNlcHRpb246OnRocm93VHlwZUVycm9yKGNvbnN0IGNoYXIqIG1lc3NhZ2UsIHY4OjpJc29s
YXRlKiBpc29sYXRlKQoreworICAgIHJldHVybiBWOFRocm93RXhjZXB0aW9uOjp0aHJvd0Vycm9y
KFR5cGVFcnJvciwgKG1lc3NhZ2UgPyBtZXNzYWdlIDogIlR5cGUgZXJyb3IiKSwgaXNvbGF0ZSk7
Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFRocm93RXhjZXB0aW9uOjp0aHJvd05vdEVu
b3VnaEFyZ3VtZW50c0Vycm9yKHY4OjpJc29sYXRlKiBpc29sYXRlKQoreworICAgIHJldHVybiBW
OFRocm93RXhjZXB0aW9uOjp0aHJvd0Vycm9yKFR5cGVFcnJvciwgIk5vdCBlbm91Z2ggYXJndW1l
bnRzIiwgaXNvbGF0ZSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFRocm93RXhjZXB0
aW9uOjp0aHJvd0Vycm9yKHY4OjpMb2NhbDx2ODo6VmFsdWU+IGV4Y2VwdGlvbiwgdjg6Oklzb2xh
dGUqIGlzb2xhdGUpCit7CisgICAgaWYgKCF2ODo6Vjg6OklzRXhlY3V0aW9uVGVybWluYXRpbmco
KSkKKyAgICAgICAgdjg6OlRocm93RXhjZXB0aW9uKGV4Y2VwdGlvbik7CisgICAgcmV0dXJuIHY4
OjpVbmRlZmluZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhUaHJvd0V4Y2VwdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhUaHJvd0V4Y2VwdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZhZDA4YTEw
ZjFlYjFjZjM4ZDA5MzY5OTliM2YxOThhOTA2NGU1NTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFRocm93RXhjZXB0aW9uLmgKQEAgLTAsMCArMSw1NCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICogCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFY4VGhyb3dFeGNlcHRpb25faAorI2RlZmluZSBW
OFRocm93RXhjZXB0aW9uX2gKKworI2luY2x1ZGUgPHY4Lmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworLy8gVGhlIHR5cGVzIG9mIGphdmFzY3JpcHQgZXJyb3JzIHRoYXQgY2FuIGJlIHRocm93
bi4KK2VudW0gRXJyb3JUeXBlIHsKKyAgICBSYW5nZUVycm9yLAorICAgIFJlZmVyZW5jZUVycm9y
LAorICAgIFN5bnRheEVycm9yLAorICAgIFR5cGVFcnJvciwKKyAgICBHZW5lcmFsRXJyb3IKK307
CisKK2NsYXNzIFY4VGhyb3dFeGNlcHRpb24geworcHVibGljOgorICAgIHN0YXRpYyB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gc2V0RE9NRXhjZXB0aW9uKGludCwgdjg6Oklzb2xhdGUqKTsKKworICAg
IHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdGhyb3dFcnJvcihFcnJvclR5cGUsIGNvbnN0
IGNoYXIqLCB2ODo6SXNvbGF0ZSogPSAwKTsKKyAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IHRocm93RXJyb3Iodjg6OkxvY2FsPHY4OjpWYWx1ZT4sIHY4OjpJc29sYXRlKiA9IDApOwor
CisgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0aHJvd1R5cGVFcnJvcihjb25zdCBj
aGFyKiA9IDAsIHY4OjpJc29sYXRlKiA9IDApOworICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcih2ODo6SXNvbGF0ZSopOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gVjhUaHJvd0V4Y2VwdGlvbl9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFV0aWxpdGllcy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFV0aWxpdGllcy5jcHAKaW5kZXggMGY0OGI1ODc2
YTcxODk0NjMzMDQ1ZjFlYjE5ZTI5Y2U3Yzg4MWMzYS4uYjA4MjBiMWFlMDc3NzRhYzQ5ZThkMmM2
ZjAxNmYzNjU1Zjg4M2E3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4VXRpbGl0
aWVzLmNwcApAQCAtMTA3LDcgKzEwNyw3IEBAIGJvb2wgZXh0cmFjdFRyYW5zZmVyYWJsZXModjg6
OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIE1lc3NhZ2VQb3J0QXJyYXkmIHBvcnRzLCBBCiAgICAg
ICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHRyYW5zZmVycmFibGUgPSB0cmFuc2ZlcnJhYmxlcy0+
R2V0KGkpOwogICAgICAgICAvLyBWYWxpZGF0aW9uIG9mIG5vbi1udWxsIG9iamVjdHMsIHBlciBI
VE1MNSBzcGVjIDEwLjMuMy4KICAgICAgICAgaWYgKGlzVW5kZWZpbmVkT3JOdWxsKHRyYW5zZmVy
cmFibGUpKSB7Ci0gICAgICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oREFUQV9DTE9O
RV9FUlIsIGlzb2xhdGUpOworICAgICAgICAgICAgc2V0RE9NRXhjZXB0aW9uKERBVEFfQ0xPTkVf
RVJSLCBpc29sYXRlKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogICAg
ICAgICAvLyBWYWxpZGF0aW9uIG9mIE9iamVjdHMgaW1wbGVtZW50aW5nIGFuIGludGVyZmFjZSwg
cGVyIFdlYklETCBzcGVjIDQuMS4xNS4KQEAgLTExNiw3ICsxMTYsNyBAQCBib29sIGV4dHJhY3RU
cmFuc2ZlcmFibGVzKHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLCBNZXNzYWdlUG9ydEFycmF5
JiBwb3J0cywgQQogICAgICAgICBlbHNlIGlmIChWOEFycmF5QnVmZmVyOjpIYXNJbnN0YW5jZSh0
cmFuc2ZlcnJhYmxlKSkKICAgICAgICAgICAgIGFycmF5QnVmZmVycy5hcHBlbmQoVjhBcnJheUJ1
ZmZlcjo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdCh0cmFuc2ZlcnJhYmxl
KSkpOwogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIFY4UHJveHk6OnRocm93VHlwZUVycm9y
KCk7CisgICAgICAgICAgICB0aHJvd1R5cGVFcnJvcigpOwogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgICAgICB9CiAgICAgfQpAQCAtMTMwLDcgKzEzMCw3IEBAIGJvb2wgZ2V0TWVzc2Fn
ZVBvcnRBcnJheSh2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgTWVzc2FnZVBvcnRBcnJheSYg
cG9ydHMsIHY4CiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBp
ZiAoYXJyYXlCdWZmZXJzLnNpemUoKSA+IDApIHsKLSAgICAgICAgVjhQcm94eTo6dGhyb3dUeXBl
RXJyb3IoIk1lc3NhZ2VQb3J0QXJyYXkgYXJndW1lbnQgbXVzdCBjb250YWluIG9ubHkgTWVzc2Fn
ZVBvcnRzIik7CisgICAgICAgIHRocm93VHlwZUVycm9yKCJNZXNzYWdlUG9ydEFycmF5IGFyZ3Vt
ZW50IG11c3QgY29udGFpbiBvbmx5IE1lc3NhZ2VQb3J0cyIpOwogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogICAgIHJldHVybiB0cnVlOwpAQCAtMTkzLDcgKzE5Myw3IEBAIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKQogCiB2b2lkIHNldFR5
cGVNaXNtYXRjaEV4Y2VwdGlvbih2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKLSAgICBWOFByb3h5
OjpzZXRET01FeGNlcHRpb24oVFlQRV9NSVNNQVRDSF9FUlIsIGlzb2xhdGUpOworICAgIHNldERP
TUV4Y2VwdGlvbihUWVBFX01JU01BVENIX0VSUiwgaXNvbGF0ZSk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtl
ckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9X
b3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwCmluZGV4IDc1MmFhYTdhMmQ2NDZiYzI5YjY2
YWQxNzcyMDEzYzVlNzgyNDNiMWEuLjVjODQzODA5ZWU0YTMxOTMwZWNiMWMwY2E0NGMzOTlhODJm
M2NkOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRl
eHRFeGVjdXRpb25Qcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29y
a2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcApAQCAtMjI4LDcgKzIyOCw3IEBAIFNjcmlwdFZh
bHVlIFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6ZXZhbHVhdGUoY29uc3QgU3RyaW5nJiBz
Y3JpcHQsIGNvbnN0IFN0CiAgICAgICAgIHN0YXRlLT5saW5lTnVtYmVyID0gbWVzc2FnZS0+R2V0
TGluZU51bWJlcigpOwogICAgICAgICBzdGF0ZS0+c291cmNlVVJMID0gdG9XZWJDb3JlU3RyaW5n
KG1lc3NhZ2UtPkdldFNjcmlwdFJlc291cmNlTmFtZSgpKTsKICAgICAgICAgaWYgKG1fd29ya2Vy
Q29udGV4dC0+c2FuaXRpemVTY3JpcHRFcnJvcihzdGF0ZS0+ZXJyb3JNZXNzYWdlLCBzdGF0ZS0+
bGluZU51bWJlciwgc3RhdGUtPnNvdXJjZVVSTCkpCi0gICAgICAgICAgICBzdGF0ZS0+ZXhjZXB0
aW9uID0gVjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpHZW5lcmFsRXJyb3IsIHN0YXRlLT5l
cnJvck1lc3NhZ2UudXRmOCgpLmRhdGEoKSk7CisgICAgICAgICAgICBzdGF0ZS0+ZXhjZXB0aW9u
ID0gdGhyb3dFcnJvcihHZW5lcmFsRXJyb3IsIHN0YXRlLT5lcnJvck1lc3NhZ2UudXRmOCgpLmRh
dGEoKSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHN0YXRlLT5leGNlcHRpb24gPSBTY3Jp
cHRWYWx1ZShleGNlcHRpb25DYXRjaGVyLkV4Y2VwdGlvbigpKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJDdXN0b20uY3Bw
CmluZGV4IGU3MTgyNWQ3MGNiZTA4YWQ1NzkxYWQwNTc0YmI4YTBkYjk3N2IxOWEuLmFkYmVhY2Rm
OGVlYWViM2I3MDMzYjc4MWNjMWVmOGZiNTc0NmQ1ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyQ3VzdG9tLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBcnJheUJ1ZmZlckN1c3RvbS5jcHAKQEAg
LTQzLDcgKzQzLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4QXJyYXlCdWZmZXI6OmNvbnN0
cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXIKICAgICBJTkNfU1RBVFMoIkRP
TS5BcnJheUJ1ZmZlci5Db25zdHJ1Y3RvciIpOwogCiAgICAgaWYgKCFhcmdzLklzQ29uc3RydWN0
Q2FsbCgpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoIkRPTSBvYmpl
Y3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIsIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKCJET00gb2JqZWN0IGNv
bnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4iLCBhcmdzLkdldElzb2xh
dGUoKSk7CiAKICAgICBpZiAoQ29uc3RydWN0b3JNb2RlOjpjdXJyZW50KCkgPT0gQ29uc3RydWN0
b3JNb2RlOjpXcmFwRXhpc3RpbmdPYmplY3QpCiAgICAgICAgIHJldHVybiBhcmdzLkhvbGRlcigp
OwpAQCAtNzAsNyArNzAsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhBcnJheUJ1ZmZlcjo6
Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcgogICAgIGlmIChsZW5n
dGggPj0gMCkKICAgICAgICAgYnVmZmVyID0gQXJyYXlCdWZmZXI6OmNyZWF0ZShzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4obGVuZ3RoKSwgMSk7CiAgICAgaWYgKCFidWZmZXIuZ2V0KCkpCi0gICAgICAg
IHJldHVybiBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJhbmdlRXJyb3IsICJBcnJheUJ1
ZmZlciBzaXplIGlzIG5vdCBhIHNtYWxsIGVub3VnaCBwb3NpdGl2ZSBpbnRlZ2VyLiIsIGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoUmFuZ2VFcnJvciwgIkFy
cmF5QnVmZmVyIHNpemUgaXMgbm90IGEgc21hbGwgZW5vdWdoIHBvc2l0aXZlIGludGVnZXIuIiwg
YXJncy5HZXRJc29sYXRlKCkpOwogICAgIC8vIFRyYW5zZm9ybSB0aGUgaG9sZGVyIGludG8gYSB3
cmFwcGVyIG9iamVjdCBmb3IgdGhlIGFycmF5LgogICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4g
d3JhcHBlciA9IGFyZ3MuSG9sZGVyKCk7CiAgICAgVjhET01XcmFwcGVyOjpzZXRET01XcmFwcGVy
KHdyYXBwZXIsICZpbmZvLCBidWZmZXIuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3Q3VzdG9tLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBcnJheUJ1ZmZlclZpZXdDdXN0b20uaAppbmRl
eCAyNzdjOTc4ZDBkZjY0MDMwZWIyOTY5OTVhZmI1NWU5YzFiYmVjZTQ0Li40MGRiNDM5MjNjYTRk
OGZlZjViYmJmZjFmMDJjYTg1ZGYwNjliOGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhBcnJheUJ1ZmZlclZpZXdDdXN0b20uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBcnJheUJ1ZmZlclZpZXdDdXN0b20uaApAQCAt
NjMsMjggKzYzLDI4IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjb25zdHJ1Y3RXZWJHTEFycmF5
V2l0aEFycmF5QnVmZmVyQXJndW1lbnQoY29uc3Qgdjg6OkFyZ3VtCiB7CiAgICAgQXJyYXlCdWZm
ZXIqIGJ1ZiA9IFY4QXJyYXlCdWZmZXI6OnRvTmF0aXZlKGFyZ3NbMF0tPlRvT2JqZWN0KCkpOwog
ICAgIGlmICghYnVmKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoIkNv
dWxkIG5vdCBjb252ZXJ0IGFyZ3VtZW50IDAgdG8gYSBBcnJheUJ1ZmZlciIsIGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKCJDb3VsZCBub3QgY29udmVy
dCBhcmd1bWVudCAwIHRvIGEgQXJyYXlCdWZmZXIiLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAg
Ym9vbCBvazsKICAgICB1aW50MzJfdCBvZmZzZXQgPSAwOwogICAgIGludCBhcmdMZW4gPSBhcmdz
Lkxlbmd0aCgpOwogICAgIGlmIChhcmdMZW4gPiAxKSB7CiAgICAgICAgIG9mZnNldCA9IHRvVUlu
dDMyKGFyZ3NbMV0sIG9rKTsKICAgICAgICAgaWYgKCFvaykKLSAgICAgICAgICAgIHJldHVybiBW
OFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiQ291bGQgbm90IGNvbnZlcnQgYXJndW1lbnQgMSB0byBh
IG51bWJlciIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgICAgIHJldHVybiB0aHJvd1R5
cGVFcnJvcigiQ291bGQgbm90IGNvbnZlcnQgYXJndW1lbnQgMSB0byBhIG51bWJlciIsIGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKICAgICB9CiAgICAgdWludDMyX3QgbGVuZ3RoID0gMDsKICAgICBpZiAo
YXJnTGVuID4gMikgewogICAgICAgICBsZW5ndGggPSB0b1VJbnQzMihhcmdzWzJdLCBvayk7CiAg
ICAgICAgIGlmICghb2spCi0gICAgICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJy
b3IoIkNvdWxkIG5vdCBjb252ZXJ0IGFyZ3VtZW50IDIgdG8gYSBudW1iZXIiLCBhcmdzLkdldElz
b2xhdGUoKSk7CisgICAgICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkNvdWxkIG5vdCBj
b252ZXJ0IGFyZ3VtZW50IDIgdG8gYSBudW1iZXIiLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAg
fSBlbHNlIHsKICAgICAgICAgaWYgKChidWYtPmJ5dGVMZW5ndGgoKSAtIG9mZnNldCkgJSBzaXpl
b2YoRWxlbWVudFR5cGUpKQotICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3Io
VjhQcm94eTo6UmFuZ2VFcnJvciwgIkFycmF5QnVmZmVyIGxlbmd0aCBtaW51cyB0aGUgYnl0ZU9m
ZnNldCBpcyBub3QgYSBtdWx0aXBsZSBvZiB0aGUgZWxlbWVudCBzaXplLiIsIGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKKyAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFJhbmdlRXJyb3IsICJBcnJh
eUJ1ZmZlciBsZW5ndGggbWludXMgdGhlIGJ5dGVPZmZzZXQgaXMgbm90IGEgbXVsdGlwbGUgb2Yg
dGhlIGVsZW1lbnQgc2l6ZS4iLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgICAgIGxlbmd0aCA9
IChidWYtPmJ5dGVMZW5ndGgoKSAtIG9mZnNldCkgLyBzaXplb2YoRWxlbWVudFR5cGUpOwogICAg
IH0KICAgICBSZWZQdHI8QXJyYXlDbGFzcz4gYXJyYXkgPSBBcnJheUNsYXNzOjpjcmVhdGUoYnVm
LCBvZmZzZXQsIGxlbmd0aCk7CiAgICAgaWYgKCFhcnJheSkKLSAgICAgICAgcmV0dXJuIFY4UHJv
eHk6OnNldERPTUV4Y2VwdGlvbihJTkRFWF9TSVpFX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwor
ICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKElOREVYX1NJWkVfRVJSLCBhcmdzLkdldElz
b2xhdGUoKSk7CiAKICAgICByZXR1cm4gd3JhcEFycmF5QnVmZmVyVmlldyhhcmdzLCB0eXBlLCBh
cnJheSwgYXJyYXlUeXBlLCBoYXNJbmRleGVyKTsKIH0KQEAgLTk2LDcgKzk2LDcgQEAgdGVtcGxh
dGU8Y2xhc3MgQXJyYXlDbGFzcywgY2xhc3MgSmF2YVNjcmlwdFdyYXBwZXJBcnJheVR5cGUsIGNs
YXNzIEVsZW1lbnRUeXBlPgogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVjdFdlYkdMQXJy
YXkoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywgV3JhcHBlclR5cGVJbmZvKiB0eXBlLCB2ODo6
RXh0ZXJuYWxBcnJheVR5cGUgYXJyYXlUeXBlKQogewogICAgIGlmICghYXJncy5Jc0NvbnN0cnVj
dENhbGwoKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJET00gb2Jq
ZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4iLCBhcmdzLkdl
dElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigiRE9NIG9iamVjdCBj
b25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIiwgYXJncy5HZXRJc29s
YXRlKCkpOwogCiAgICAgaWYgKENvbnN0cnVjdG9yTW9kZTo6Y3VycmVudCgpID09IENvbnN0cnVj
dG9yTW9kZTo6V3JhcEV4aXN0aW5nT2JqZWN0KQogICAgICAgICByZXR1cm4gYXJncy5Ib2xkZXIo
KTsKQEAgLTEzMCw3ICsxMzAsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY29uc3RydWN0V2Vi
R0xBcnJheShjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzLCBXcmFwcGVyVHlwZQogCiAgICAgaWYg
KGFyZ3NbMF0tPklzTnVsbCgpKSB7CiAgICAgICAgIC8vIEludmFsaWQgZmlyc3QgYXJndW1lbnQK
LSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKDAsIGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKDAsIGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKICAgICB9CiAKICAgICAvLyBTZWUgd2hldGhlciB0aGUgZmlyc3QgYXJndW1lbnQgaXMgYSBB
cnJheUJ1ZmZlci4KQEAgLTE0NCw3ICsxNDQsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY29u
c3RydWN0V2ViR0xBcnJheShjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzLCBXcmFwcGVyVHlwZQog
ICAgICAgICB1aW50MzJfdCBsZW5ndGggPSBzb3VyY2UtPmxlbmd0aCgpOwogICAgICAgICBSZWZQ
dHI8QXJyYXlDbGFzcz4gYXJyYXkgPSBBcnJheUNsYXNzOjpjcmVhdGVVbmluaXRpYWxpemVkKGxl
bmd0aCk7CiAgICAgICAgIGlmICghYXJyYXkuZ2V0KCkpCi0gICAgICAgICAgICByZXR1cm4gVjhQ
cm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpSYW5nZUVycm9yLCBub3RTbWFsbEVub3VnaFNpemUs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFJhbmdl
RXJyb3IsIG5vdFNtYWxsRW5vdWdoU2l6ZSwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgICAg
IG1lbWNweShhcnJheS0+YmFzZUFkZHJlc3MoKSwgc291cmNlLT5iYXNlQWRkcmVzcygpLCBsZW5n
dGggKiBzaXplb2YoRWxlbWVudFR5cGUpKTsKIApAQCAtMTU4LDcgKzE1OCw3IEBAIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBjb25zdHJ1Y3RXZWJHTEFycmF5KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFy
Z3MsIFdyYXBwZXJUeXBlCiAgICAgaWYgKGFyZ3NbMF0tPklzT2JqZWN0KCkpIHsKICAgICAgICAg
c3JjQXJyYXkgPSBhcmdzWzBdLT5Ub09iamVjdCgpOwogICAgICAgICBpZiAoc3JjQXJyYXkuSXNF
bXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJDb3Vs
ZCBub3QgY29udmVydCBhcmd1bWVudCAwIHRvIGFuIGFycmF5IiwgYXJncy5HZXRJc29sYXRlKCkp
OworICAgICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKCJDb3VsZCBub3QgY29udmVydCBh
cmd1bWVudCAwIHRvIGFuIGFycmF5IiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICBsZW4g
PSB0b1VJbnQzMihzcmNBcnJheS0+R2V0KHY4OjpTdHJpbmc6Ok5ldygibGVuZ3RoIikpKTsKICAg
ICAgICAgZG9JbnN0YW50aWF0aW9uID0gdHJ1ZTsKICAgICB9IGVsc2UgewpAQCAtMTc5LDcgKzE3
OSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjb25zdHJ1Y3RXZWJHTEFycmF5KGNvbnN0IHY4
OjpBcmd1bWVudHMmIGFyZ3MsIFdyYXBwZXJUeXBlCiAgICAgfQogCiAgICAgaWYgKCFhcnJheS5n
ZXQoKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6UmFuZ2VF
cnJvciwgbm90U21hbGxFbm91Z2hTaXplLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJl
dHVybiB0aHJvd0Vycm9yKFJhbmdlRXJyb3IsIG5vdFNtYWxsRW5vdWdoU2l6ZSwgYXJncy5HZXRJ
c29sYXRlKCkpOwogCiAKICAgICAvLyBUcmFuc2Zvcm0gdGhlIGhvbGRlciBpbnRvIGEgd3JhcHBl
ciBvYmplY3QgZm9yIHRoZSBhcnJheS4KQEAgLTIwNCw3ICsyMDQsNyBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgQ1BsdXNQbHVzQXJyYXlUeXBlLCBjbGFzcyBKYXZhU2NyaXB0V3JhcHBlckFycmF5VHlwZT4K
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBzZXRXZWJHTEFycmF5SGVscGVyKGNvbnN0IHY4OjpBcmd1
bWVudHMmIGFyZ3MpCiB7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1
cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFNZTlRBWF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKKyAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihTWU5UQVhfRVJSLCBhcmdzLkdldElz
b2xhdGUoKSk7CiAKICAgICBDUGx1c1BsdXNBcnJheVR5cGUqIGltcGwgPSBKYXZhU2NyaXB0V3Jh
cHBlckFycmF5VHlwZTo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAKQEAgLTIxNSw3ICsyMTUs
NyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gc2V0V2ViR0xBcnJheUhlbHBlcihjb25zdCB2ODo6
QXJndW1lbnRzJiBhcmdzKQogICAgICAgICBpZiAoYXJncy5MZW5ndGgoKSA9PSAyKQogICAgICAg
ICAgICAgb2Zmc2V0ID0gdG9VSW50MzIoYXJnc1sxXSk7CiAgICAgICAgIGlmICghaW1wbC0+c2V0
KHNyYywgb2Zmc2V0KSkKLSAgICAgICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRp
b24oSU5ERVhfU0laRV9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgICAgIHJldHVy
biBzZXRET01FeGNlcHRpb24oSU5ERVhfU0laRV9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAg
ICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKICAgICB9CiAKQEAgLTIzMCw3ICsyMzAsNyBA
QCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gc2V0V2ViR0xBcnJheUhlbHBlcihjb25zdCB2ODo6QXJn
dW1lbnRzJiBhcmdzKQogICAgICAgICAgICAgfHwgb2Zmc2V0ICsgbGVuZ3RoID4gaW1wbC0+bGVu
Z3RoKCkKICAgICAgICAgICAgIHx8IG9mZnNldCArIGxlbmd0aCA8IG9mZnNldCkgewogICAgICAg
ICAgICAgLy8gT3V0IG9mIHJhbmdlIG9mZnNldCBvciBvdmVyZmxvdwotICAgICAgICAgICAgcmV0
dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihJTkRFWF9TSVpFX0VSUiwgYXJncy5HZXRJc29s
YXRlKCkpOworICAgICAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihJTkRFWF9TSVpFX0VS
UiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICB9CiAgICAgICAgIGJvb2wgY29waWVkID0g
Y29weUVsZW1lbnRzKGFyZ3MuSG9sZGVyKCksIGFycmF5LCBsZW5ndGgsIG9mZnNldCwgYXJncy5H
ZXRJc29sYXRlKCkpOwogICAgICAgICBpZiAoIWNvcGllZCkgewpAQCAtMjQwLDcgKzI0MCw3IEBA
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBzZXRXZWJHTEFycmF5SGVscGVyKGNvbnN0IHY4OjpBcmd1
bWVudHMmIGFyZ3MpCiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAgICAgfQogCi0g
ICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihTWU5UQVhfRVJSLCBhcmdzLkdldElz
b2xhdGUoKSk7CisgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihTWU5UQVhfRVJSLCBhcmdzLkdl
dElzb2xhdGUoKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEF1ZGlvQnVmZmVyU291cmNlTm9kZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBdWRpb0J1ZmZlclNvdXJjZU5vZGVDdXN0b20uY3Bw
CmluZGV4IGNmMjEyZDM0OWQ1ZGE0NTUzODA1M2Q2MGM5MTFmMzFkZTE2OGRkNzYuLjBmZDk1MDZk
NzRhNDA0Y2IyNjY0YjlkYzkxNTc4OTZhY2ZiNzNmMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEF1ZGlvQnVmZmVyU291cmNlTm9kZUN1c3RvbS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXVkaW9CdWZmZXJTb3Vy
Y2VOb2RlQ3VzdG9tLmNwcApAQCAtNDcsMTMgKzQ3LDEzIEBAIHZvaWQgVjhBdWRpb0J1ZmZlclNv
dXJjZU5vZGU6OmJ1ZmZlckFjY2Vzc29yU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1l
LCB2CiAgICAgaWYgKFY4QXVkaW9CdWZmZXI6Okhhc0luc3RhbmNlKHZhbHVlKSkgewogICAgICAg
ICBidWZmZXIgPSBWOEF1ZGlvQnVmZmVyOjp0b05hdGl2ZSh2YWx1ZS0+VG9PYmplY3QoKSk7CiAg
ICAgICAgIGlmIChidWZmZXIgJiYgIWltcC0+c2V0QnVmZmVyKGJ1ZmZlcikpIHsKLSAgICAgICAg
ICAgIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJBdWRpb0J1ZmZlciB1bnN1cHBvcnRlZCBudW1i
ZXIgb2YgY2hhbm5lbHMiLCBpbmZvLkdldElzb2xhdGUoKSk7CisgICAgICAgICAgICB0aHJvd1R5
cGVFcnJvcigiQXVkaW9CdWZmZXIgdW5zdXBwb3J0ZWQgbnVtYmVyIG9mIGNoYW5uZWxzIiwgaW5m
by5HZXRJc29sYXRlKCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgfQog
ICAgIAogICAgIGlmICghYnVmZmVyKSB7Ci0gICAgICAgIFY4UHJveHk6OnRocm93VHlwZUVycm9y
KCJWYWx1ZSBpcyBub3Qgb2YgdHlwZSBBdWRpb0J1ZmZlciIsIGluZm8uR2V0SXNvbGF0ZSgpKTsK
KyAgICAgICAgdGhyb3dUeXBlRXJyb3IoIlZhbHVlIGlzIG5vdCBvZiB0eXBlIEF1ZGlvQnVmZmVy
IiwgaW5mby5HZXRJc29sYXRlKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXVkaW9Db250ZXh0Q3Vz
dG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEF1ZGlvQ29udGV4
dEN1c3RvbS5jcHAKaW5kZXggMmVlODFlYjI3MDRmMGQ2ZGZjZjhhN2I0ZmU3OWJhZWU5MDU2MzZi
ZS4uMTNkMGQyNjk5YmJjM2U2OTVlNmM4ODg4MWE3NWY4NTc5MTA4NTNkMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXVkaW9Db250ZXh0Q3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBdWRpb0NvbnRleHRD
dXN0b20uY3BwCkBAIC00NSwxOCArNDUsMTggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4QXVk
aW9Db250ZXh0Ojpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGEKICAg
ICBJTkNfU1RBVFMoIkRPTS5BdWRpb0NvbnRleHQuQ29udHJ1Y3RvciIpOwogCiAgICAgaWYgKCFh
cmdzLklzQ29uc3RydWN0Q2FsbCgpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBl
RXJyb3IoIkF1ZGlvQ29udGV4dCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVu
Y3Rpb24uIiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJy
b3IoIkF1ZGlvQ29udGV4dCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rp
b24uIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgaWYgKENvbnN0cnVjdG9yTW9kZTo6Y3Vy
cmVudCgpID09IENvbnN0cnVjdG9yTW9kZTo6V3JhcEV4aXN0aW5nT2JqZWN0KQogICAgICAgICBy
ZXR1cm4gYXJncy5Ib2xkZXIoKTsKIAogICAgIEZyYW1lKiBmcmFtZSA9IGN1cnJlbnRGcmFtZShC
aW5kaW5nU3RhdGU6Omluc3RhbmNlKCkpOwogICAgIGlmICghZnJhbWUpCi0gICAgICAgIHJldHVy
biBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJlZmVyZW5jZUVycm9yLCAiQXVkaW9Db250
ZXh0IGNvbnN0cnVjdG9yIGFzc29jaWF0ZWQgZnJhbWUgaXMgdW5hdmFpbGFibGUiLCBhcmdzLkdl
dElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFJlZmVyZW5jZUVycm9yLCAi
QXVkaW9Db250ZXh0IGNvbnN0cnVjdG9yIGFzc29jaWF0ZWQgZnJhbWUgaXMgdW5hdmFpbGFibGUi
LCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBmcmFtZS0+
ZG9jdW1lbnQoKTsKICAgICBpZiAoIWRvY3VtZW50KQotICAgICAgICByZXR1cm4gVjhQcm94eTo6
dGhyb3dFcnJvcihWOFByb3h5OjpSZWZlcmVuY2VFcnJvciwgIkF1ZGlvQ29udGV4dCBjb25zdHJ1
Y3RvciBhc3NvY2lhdGVkIGRvY3VtZW50IGlzIHVuYXZhaWxhYmxlIiwgYXJncy5HZXRJc29sYXRl
KCkpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihSZWZlcmVuY2VFcnJvciwgIkF1ZGlvQ29u
dGV4dCBjb25zdHJ1Y3RvciBhc3NvY2lhdGVkIGRvY3VtZW50IGlzIHVuYXZhaWxhYmxlIiwgYXJn
cy5HZXRJc29sYXRlKCkpOwogCiAgICAgUmVmUHRyPEF1ZGlvQ29udGV4dD4gYXVkaW9Db250ZXh0
OwogICAgIApAQCAtNjUsMzcgKzY1LDM3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEF1ZGlv
Q29udGV4dDo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhCiAgICAg
ICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgICAgICBhdWRpb0NvbnRleHQgPSBBdWRpb0Nv
bnRleHQ6OmNyZWF0ZShkb2N1bWVudCwgZWMpOwogICAgICAgICBpZiAoZWMpCi0gICAgICAgICAg
ICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7
CisgICAgICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUo
KSk7CiAgICAgICAgIGlmICghYXVkaW9Db250ZXh0LmdldCgpKQotICAgICAgICAgICAgcmV0dXJu
IFY4UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6U3ludGF4RXJyb3IsICJhdWRpbyByZXNvdXJj
ZXMgdW5hdmFpbGFibGUgZm9yIEF1ZGlvQ29udGV4dCBjb25zdHJ1Y3Rpb24iLCBhcmdzLkdldElz
b2xhdGUoKSk7CisgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihTeW50YXhFcnJvciwgImF1
ZGlvIHJlc291cmNlcyB1bmF2YWlsYWJsZSBmb3IgQXVkaW9Db250ZXh0IGNvbnN0cnVjdGlvbiIs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBDb25zdHJ1Y3Rv
ciBmb3Igb2ZmbGluZSAocmVuZGVyLXRhcmdldCkgQXVkaW9Db250ZXh0IHdoaWNoIHJlbmRlcnMg
aW50byBhbiBBdWRpb0J1ZmZlci4KICAgICAgICAgLy8gbmV3IEF1ZGlvQ29udGV4dChpbiB1bnNp
Z25lZCBsb25nIG51bWJlck9mQ2hhbm5lbHMsIGluIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZGcmFt
ZXMsIGluIGZsb2F0IHNhbXBsZVJhdGUpOwogICAgICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDMp
Ci0gICAgICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJv
cihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hB
cmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICAgICAgYm9vbCBvayA9IGZh
bHNlOwogCiAgICAgICAgIGludDMyX3QgbnVtYmVyT2ZDaGFubmVscyA9IHRvSW50MzIoYXJnc1sw
XSwgb2spOwogICAgICAgICBpZiAoIW9rIHx8IG51bWJlck9mQ2hhbm5lbHMgPD0gMCB8fCBudW1i
ZXJPZkNoYW5uZWxzID4gMTApCi0gICAgICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dFcnJv
cihWOFByb3h5OjpTeW50YXhFcnJvciwgIkludmFsaWQgbnVtYmVyIG9mIGNoYW5uZWxzIiwgYXJn
cy5HZXRJc29sYXRlKCkpOworICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoU3ludGF4RXJy
b3IsICJJbnZhbGlkIG51bWJlciBvZiBjaGFubmVscyIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAog
ICAgICAgICBpbnQzMl90IG51bWJlck9mRnJhbWVzID0gdG9JbnQzMihhcmdzWzFdLCBvayk7CiAg
ICAgICAgIGlmICghb2sgfHwgbnVtYmVyT2ZGcmFtZXMgPD0gMCkKLSAgICAgICAgICAgIHJldHVy
biBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlN5bnRheEVycm9yLCAiSW52YWxpZCBudW1i
ZXIgb2YgZnJhbWVzIiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICAgICAgcmV0dXJuIHRo
cm93RXJyb3IoU3ludGF4RXJyb3IsICJJbnZhbGlkIG51bWJlciBvZiBmcmFtZXMiLCBhcmdzLkdl
dElzb2xhdGUoKSk7CiAKICAgICAgICAgZmxvYXQgc2FtcGxlUmF0ZSA9IHRvRmxvYXQoYXJnc1sy
XSk7CiAgICAgICAgIGlmIChzYW1wbGVSYXRlIDw9IDApCi0gICAgICAgICAgICByZXR1cm4gVjhQ
cm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpTeW50YXhFcnJvciwgIkludmFsaWQgc2FtcGxlIHJh
dGUiLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihT
eW50YXhFcnJvciwgIkludmFsaWQgc2FtcGxlIHJhdGUiLCBhcmdzLkdldElzb2xhdGUoKSk7CiAK
ICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgICAgIGF1ZGlvQ29udGV4dCA9IEF1
ZGlvQ29udGV4dDo6Y3JlYXRlT2ZmbGluZUNvbnRleHQoZG9jdW1lbnQsIG51bWJlck9mQ2hhbm5l
bHMsIG51bWJlck9mRnJhbWVzLCBzYW1wbGVSYXRlLCBlYyk7CiAgICAgICAgIGlmIChlYykKLSAg
ICAgICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKKyAgICAgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKICAgICB9CiAKICAgICBpZiAoIWF1ZGlvQ29udGV4dC5nZXQoKSkKLSAgICAg
ICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6U3ludGF4RXJyb3IsICJFcnJv
ciBjcmVhdGluZyBBdWRpb0NvbnRleHQiLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJl
dHVybiB0aHJvd0Vycm9yKFN5bnRheEVycm9yLCAiRXJyb3IgY3JlYXRpbmcgQXVkaW9Db250ZXh0
IiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIAogICAgIC8vIFRyYW5zZm9ybSB0aGUgaG9sZGVy
IGludG8gYSB3cmFwcGVyIG9iamVjdCBmb3IgdGhlIGF1ZGlvIGNvbnRleHQuCiAgICAgVjhET01X
cmFwcGVyOjpzZXRET01XcmFwcGVyKGFyZ3MuSG9sZGVyKCksICZpbmZvLCBhdWRpb0NvbnRleHQu
Z2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
QmxvYkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhCbG9i
Q3VzdG9tLmNwcAppbmRleCBkZjAxZTc2MzRmYmM1NzIyMTFmNTFiOGVhNjFjMTE0ZjhhOTRjYjVl
Li40M2QxNGY3N2U4YzU3MmM5MzFlOTk5OGNjYjRlNWYzYjgzYmEyMjMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhCbG9iQ3VzdG9tLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhCbG9iQ3VzdG9tLmNwcApAQCAtNjAs
NyArNjAsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhCbG9iOjpjb25zdHJ1Y3RvckNhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgSU5DX1NUQVRTKCJET00uQmxvYi5D
b25zdHJ1Y3RvciIpOwogCiAgICAgaWYgKCFhcmdzLklzQ29uc3RydWN0Q2FsbCgpKQotICAgICAg
ICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3Ig
Y2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAg
ICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5v
dCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4iLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBp
ZiAoQ29uc3RydWN0b3JNb2RlOjpjdXJyZW50KCkgPT0gQ29uc3RydWN0b3JNb2RlOjpXcmFwRXhp
c3RpbmdPYmplY3QpCiAgICAgICAgIHJldHVybiBhcmdzLkhvbGRlcigpOwpAQCAtNjgsNyArNjgs
NyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhCbG9iOjpjb25zdHJ1Y3RvckNhbGxiYWNrKGNv
bnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgLy8gR2V0IHRoZSBzY3JpcHQgZXhlY3V0aW9u
IGNvbnRleHQuCiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9IGdldFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICBpZiAoIWNvbnRleHQpCi0gICAgICAgIHJldHVybiBW
OFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJlZmVyZW5jZUVycm9yLCAiQmxvYiBjb25zdHJ1
Y3RvciBhc3NvY2lhdGVkIGRvY3VtZW50IGlzIHVuYXZhaWxhYmxlIiwgYXJncy5HZXRJc29sYXRl
KCkpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihSZWZlcmVuY2VFcnJvciwgIkJsb2IgY29u
c3RydWN0b3IgYXNzb2NpYXRlZCBkb2N1bWVudCBpcyB1bmF2YWlsYWJsZSIsIGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKIAogICAgIGlmICghYXJncy5MZW5ndGgoKSkgewogICAgICAgICBSZWZQdHI8Qmxv
Yj4gYmxvYiA9IEJsb2I6OmNyZWF0ZSgpOwpAQCAtNzcsMTQgKzc3LDE0IEBAIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBWOEJsb2I6OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50
cyYgYXJncykKIAogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGZpcnN0QXJnID0gYXJnc1swXTsK
ICAgICBpZiAoIWZpcnN0QXJnLT5Jc0FycmF5KCkpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0
aHJvd1R5cGVFcnJvcigiRmlyc3QgYXJndW1lbnQgb2YgdGhlIGNvbnN0cnVjdG9yIGlzIG5vdCBv
ZiB0eXBlIEFycmF5IiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dU
eXBlRXJyb3IoIkZpcnN0IGFyZ3VtZW50IG9mIHRoZSBjb25zdHJ1Y3RvciBpcyBub3Qgb2YgdHlw
ZSBBcnJheSIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIFN0cmluZyB0eXBlOwogICAgIFN0
cmluZyBlbmRpbmdzID0gInRyYW5zcGFyZW50IjsKIAogICAgIGlmIChhcmdzLkxlbmd0aCgpID4g
MSkgewogICAgICAgICBpZiAoIWFyZ3NbMV0tPklzT2JqZWN0KCkpCi0gICAgICAgICAgICByZXR1
cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoIlNlY29uZCBhcmd1bWVudCBvZiB0aGUgY29uc3Ry
dWN0b3IgaXMgbm90IG9mIHR5cGUgT2JqZWN0IiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAg
ICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKCJTZWNvbmQgYXJndW1lbnQgb2YgdGhlIGNvbnN0
cnVjdG9yIGlzIG5vdCBvZiB0eXBlIE9iamVjdCIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAg
ICAgICBFWENFUFRJT05fQkxPQ0soRGljdGlvbmFyeSwgZGljdGlvbmFyeSwgRGljdGlvbmFyeShh
cmdzWzFdLCBhcmdzLkdldElzb2xhdGUoKSkpOwogCkBAIC05NSw3ICs5NSw3IEBAIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOEJsb2I6OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3Vt
ZW50cyYgYXJncykKIAogICAgICAgICBpZiAoY29udGFpbnNFbmRpbmdzKSB7CiAgICAgICAgICAg
ICBpZiAoZW5kaW5ncyAhPSAidHJhbnNwYXJlbnQiICYmIGVuZGluZ3MgIT0gIm5hdGl2ZSIpCi0g
ICAgICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJUaGUgZW5kaW5n
cyBwcm9wZXJ0eSBtdXN0IGJlIGVpdGhlciBcInRyYW5zcGFyZW50XCIgb3IgXCJuYXRpdmVcIiIs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJy
b3IoIlRoZSBlbmRpbmdzIHByb3BlcnR5IG11c3QgYmUgZWl0aGVyIFwidHJhbnNwYXJlbnRcIiBv
ciBcIm5hdGl2ZVwiIiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICB9CiAKICAgICAgICAg
djg6OlRyeUNhdGNoIHRyeUNhdGNoVHlwZTsKQEAgLTEwMyw3ICsxMDMsNyBAQCB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gVjhCbG9iOjpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVu
dHMmIGFyZ3MpCiAgICAgICAgIGlmICh0cnlDYXRjaFR5cGUuSGFzQ2F1Z2h0KCkpCiAgICAgICAg
ICAgICByZXR1cm4gdGhyb3dFcnJvcih0cnlDYXRjaFR5cGUuRXhjZXB0aW9uKCksIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKICAgICAgICAgaWYgKCF0eXBlLmNvbnRhaW5zT25seUFTQ0lJKCkpCi0gICAg
ICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpTeW50YXhFcnJvciwg
InR5cGUgbXVzdCBjb25zaXN0IG9mIEFTQ0lJIGNoYXJhY3RlcnMiLCBhcmdzLkdldElzb2xhdGUo
KSk7CisgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihTeW50YXhFcnJvciwgInR5cGUgbXVz
dCBjb25zaXN0IG9mIEFTQ0lJIGNoYXJhY3RlcnMiLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAg
ICAgIHR5cGUubWFrZUxvd2VyKCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlRGVjbGFyYXRpb25DdXN0
b20uY3BwCmluZGV4IDAzZDQ1MjM3ODgyZjY0YmE5NWE0MDMyMmIxYzUxNmMyYmE1M2Y3MzAuLjAw
N2JkOWFiNzc5MzRkNmMyMTkwY2RlZWZlYTVhOTAwYzg0ZjE2ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlRGVj
bGFyYXRpb25DdXN0b20uY3BwCkBAIC0yMzgsNyArMjM4LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IFY4Q1NTU3R5bGVEZWNsYXJhdGlvbjo6bmFtZWRQcm9wZXJ0eVNldHRlcih2ODo6TG9jYWw8
djg6OlMKICAgICBpbXAtPnNldFByb3BlcnR5SW50ZXJuYWwoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVy
dHlJRD4ocHJvcEluZm8tPnByb3BJRCksIHByb3BlcnR5VmFsdWUsIGZhbHNlLCBlYyk7CiAKICAg
ICBpZiAoZWMpCi0gICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJ
c29sYXRlKCkpOworICAgICAgICBzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgp
KTsKIAogICAgIHJldHVybiB2YWx1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOENsaXBib2FyZEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhDbGlwYm9hcmRDdXN0b20uY3BwCmluZGV4IDgwMDMwMTI4ZDRi
ZTNmMTUwMzkxYjdmNWJmMzViNGIzMDBlZGFlZmEuLjg3NWY2NGU2OGJiMDllZGU1NjI3MTJiNGI1
MzJlMjZhNjdkNmQwYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOENsaXBib2FyZEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Q2xpcGJvYXJkQ3VzdG9tLmNwcApAQCAtNzMsNyArNzMsNyBAQCB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhDbGlwYm9hcmQ6OmNsZWFyRGF0YUNhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmIGFyZ3MpCiAgICAgfQogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgIT0gMSkKLSAg
ICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6U3ludGF4RXJyb3IsICJj
bGVhckRhdGE6IEludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIsIGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoU3ludGF4RXJyb3IsICJjbGVhckRhdGE6IElu
dmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIFN0
cmluZyB0eXBlID0gdG9XZWJDb3JlU3RyaW5nKGFyZ3NbMF0pOwogICAgIGNsaXBib2FyZC0+Y2xl
YXJEYXRhKHR5cGUpOwpAQCAtODksNyArODksNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhD
bGlwYm9hcmQ6OnNldERyYWdJbWFnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZwog
ICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkg
IT0gMykKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6U3ludGF4
RXJyb3IsICJzZXREcmFnSW1hZ2U6IEludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIsIGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoU3ludGF4RXJyb3IsICJz
ZXREcmFnSW1hZ2U6IEludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIsIGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKIAogICAgIGludCB4ID0gdG9JbnQzMihhcmdzWzFdKTsKICAgICBpbnQgeSA9IHRvSW50
MzIoYXJnc1syXSk7CkBAIC05OSw3ICs5OSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOENs
aXBib2FyZDo6c2V0RHJhZ0ltYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJnCiAg
ICAgICAgIG5vZGUgPSBWOE5vZGU6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNh
c3QoYXJnc1swXSkpOwogCiAgICAgaWYgKCFub2RlIHx8ICFub2RlLT5pc0VsZW1lbnROb2RlKCkp
Ci0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigic2V0RHJhZ0ltYWdlRnJv
bUVsZW1lbnQ6IEludmFsaWQgZmlyc3QgYXJndW1lbnQiLCBhcmdzLkdldElzb2xhdGUoKSk7Cisg
ICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigic2V0RHJhZ0ltYWdlRnJvbUVsZW1lbnQ6IElu
dmFsaWQgZmlyc3QgYXJndW1lbnQiLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBpZiAoc3Rh
dGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUpLT5oYXNMb2NhbE5hbWUoSFRNTE5hbWVzOjppbWdUYWcp
ICYmICFub2RlLT5pbkRvY3VtZW50KCkpCiAgICAgICAgIGNsaXBib2FyZC0+c2V0RHJhZ0ltYWdl
KHN0YXRpY19jYXN0PEhUTUxJbWFnZUVsZW1lbnQqPihub2RlKS0+Y2FjaGVkSW1hZ2UoKSwgSW50
UG9pbnQoeCwgeSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NRm9ybURhdGFDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RE9NRm9ybURhdGFDdXN0b20uY3BwCmluZGV4IGVjMjAyY2NlNDY2OTRmYzYzZTYx
MjAzMWEzMDk1OWM1ZDkxZDhkYTAuLmFlN2U5MDcyZjRlZmNiOTI1ZGNlNjVkOWIyYjRhZTk5ZGYy
MWZlYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERP
TUZvcm1EYXRhQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhET01Gb3JtRGF0YUN1c3RvbS5jcHAKQEAgLTQ1LDcgKzQ1LDcgQEAgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IFY4RE9NRm9ybURhdGE6OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXIKICAgICBJTkNfU1RBVFMoIkRPTS5Gb3JtRGF0YS5Db25zdHJ1Y3RvciIpOwog
CiAgICAgaWYgKCFhcmdzLklzQ29uc3RydWN0Q2FsbCgpKQotICAgICAgICByZXR1cm4gVjhQcm94
eTo6dGhyb3dUeXBlRXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxl
ZCBhcyBhIGZ1bmN0aW9uLiIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRo
cm93VHlwZUVycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMg
YSBmdW5jdGlvbi4iLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBpZiAoQ29uc3RydWN0b3JN
b2RlOjpjdXJyZW50KCkgPT0gQ29uc3RydWN0b3JNb2RlOjpXcmFwRXhpc3RpbmdPYmplY3QpCiAg
ICAgICAgIHJldHVybiBhcmdzLkhvbGRlcigpOwpAQCAtNjYsNyArNjYsNyBAQCB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gVjhET01Gb3JtRGF0YTo6YXBwZW5kQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3Vt
ZW50cyYgYXJncykKICAgICBJTkNfU1RBVFMoIkRPTS5Gb3JtRGF0YS5hcHBlbmQoKSIpOwogICAg
IAogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMikKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRo
cm93RXJyb3IoVjhQcm94eTo6U3ludGF4RXJyb3IsICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIsIGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoU3ludGF4RXJyb3Is
ICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIERPTUZv
cm1EYXRhKiBkb21Gb3JtRGF0YSA9IFY4RE9NRm9ybURhdGE6OnRvTmF0aXZlKGFyZ3MuSG9sZGVy
KCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhE
T01TdHJpbmdNYXBDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAppbmRleCAxMTkyODIyMjk5NTMzYTZiZmY3MmRlOWE5
ZTY1ZWUzNWNhZjE1OTUwLi5kZTY4YTgzOWViZDc1N2ZhM2Q0OWU5YWVmOTQ5ZDg5OTdkYWMzZjhl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJp
bmdNYXBDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OERPTVN0cmluZ01hcEN1c3RvbS5jcHAKQEAgLTgwLDcgKzgwLDcgQEAgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4RE9NU3RyaW5nTWFwOjpuYW1lZFByb3BlcnR5U2V0dGVyKHY4OjpMb2NhbDx2ODo6
U3RyaW5nPgogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIFY4RE9NU3RyaW5nTWFwOjp0
b05hdGl2ZShpbmZvLkhvbGRlcigpKS0+c2V0SXRlbSh0b1dlYkNvcmVTdHJpbmcobmFtZSksIHRv
V2ViQ29yZVN0cmluZyh2YWx1ZSksIGVjKTsKICAgICBpZiAoZWMpCi0gICAgICAgIHJldHVybiBW
OFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAg
cmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOwogICAgIHJldHVy
biB2YWx1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAKaW5kZXggM2ZlODgwYTc4NDZlNGI3YWY4YWQzMWUx
Yjk4NDQ4NWVmN2RmYzI3NC4uMzU5OTA2ZmYyYjYxMzc3NTJkZTU2OTI3YmQ1NTJiNmQyNjAwM2Iw
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2lu
ZG93Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhE
T01XaW5kb3dDdXN0b20uY3BwCkBAIC03OSw3ICs3OSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBXaW5kb3dTZXRUaW1lb3V0SW1wbChjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzLCBib29sIHNp
bmdsCiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0Q29udGV4dCA9IHN0YXRpY19j
YXN0PFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqPihpbXAtPmRvY3VtZW50KCkpOwogCiAgICAgaWYg
KCFzY3JpcHRDb250ZXh0KQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9u
KElOVkFMSURfQUNDRVNTX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4g
c2V0RE9NRXhjZXB0aW9uKElOVkFMSURfQUNDRVNTX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwog
CiAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGZ1bmN0aW9uID0gYXJnc1swXTsKICAgICBXVEY6
OlN0cmluZyBmdW5jdGlvblN0cmluZzsKQEAgLTMwMyw3ICszMDMsNyBAQCBzdGF0aWMgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3Vt
ZW50cyYgYXJncwogCiAgICAgLy8gSWYgY2FsbGVkIGRpcmVjdGx5IGJ5IFdlYkNvcmUgd2UgZG9u
J3QgaGF2ZSBhIGNhbGxpbmcgY29udGV4dC4KICAgICBpZiAoIXNvdXJjZSkKLSAgICAgICAgcmV0
dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKDAsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAg
ICAgcmV0dXJuIHRocm93VHlwZUVycm9yKDAsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIC8v
IFRoaXMgZnVuY3Rpb24gaGFzIHZhcmlhYmxlIGFyZ3VtZW50cyBhbmQgY2FuIGJlOgogICAgIC8v
IFBlciBjdXJyZW50IHNwZWM6CkBAIC0zNDUsNyArMzQ1LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMm
IGFyZ3MKIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIHdpbmRvdy0+cG9zdE1lc3Nh
Z2UobWVzc2FnZS5yZWxlYXNlKCksICZwb3J0QXJyYXksIHRhcmdldE9yaWdpbiwgc291cmNlLCBl
Yyk7Ci0gICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29s
YXRlKCkpOworICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKIH0KIAogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RE9NV2luZG93Ojpwb3N0TWVzc2FnZUNh
bGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEYXRhVmlld0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEYXRhVmlld0N1c3RvbS5jcHAKaW5kZXggMDM3ZDRi
MzU3MTlmOTEyYjVlOGIxMjdmMmY1NzMwMjZhMjhhNTU0Ni4uYWZiMjA3Yzc2NDdmZWVlN2QxZmY1
MDFhNzk3OWRlMTYxYmRkNWRiNiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RGF0YVZpZXdDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOERhdGFWaWV3Q3VzdG9tLmNwcApAQCAtMzgsNyArMzgsNyBAQCB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gVjhEYXRhVmlldzo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2
ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIElOQ19TVEFUUygiRE9NLkRhdGFWaWV3LkNvbnN0cnVj
dG9yIik7CiAKICAgICBpZiAoIWFyZ3MuSXNDb25zdHJ1Y3RDYWxsKCkpCi0gICAgICAgIHJldHVy
biBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3Qg
YmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24iLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJl
dHVybiB0aHJvd1R5cGVFcnJvcigiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2Fs
bGVkIGFzIGEgZnVuY3Rpb24iLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBpZiAoQ29uc3Ry
dWN0b3JNb2RlOjpjdXJyZW50KCkgPT0gQ29uc3RydWN0b3JNb2RlOjpXcmFwRXhpc3RpbmdPYmpl
Y3QpCiAgICAgICAgIHJldHVybiBhcmdzLkhvbGRlcigpOwpAQCAtNTMsNyArNTMsNyBAQCB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gVjhEYXRhVmlldzo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2
ODo6QXJndW1lbnRzJiBhcmdzKQogICAgICAgICByZXR1cm4gd3JhcHBlcjsKICAgICB9CiAgICAg
aWYgKGFyZ3NbMF0tPklzTnVsbCgpIHx8ICFWOEFycmF5QnVmZmVyOjpIYXNJbnN0YW5jZShhcmdz
WzBdKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKDAsIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKDAsIGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKICAgICByZXR1cm4gY29uc3RydWN0V2ViR0xBcnJheVdpdGhBcnJheUJ1ZmZlckFy
Z3VtZW50PERhdGFWaWV3LCBjaGFyPihhcmdzLCAmaW5mbywgdjg6OmtFeHRlcm5hbEJ5dGVBcnJh
eSwgZmFsc2UpOwogfQogCkBAIC02OCwxNCArNjgsMTQgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IFY4RGF0YVZpZXc6OmdldEludDhDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQog
ewogICAgIElOQ19TVEFUUygiRE9NLkRhdGFWaWV3LmdldEludDgiKTsKICAgICBpZiAoYXJncy5M
ZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3Vt
ZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5v
dWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgRGF0YVZpZXcqIGlt
cCA9IFY4RGF0YVZpZXc6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIEV4Y2VwdGlvbkNv
ZGUgZWMgPSAwOwogICAgIEVYQ0VQVElPTl9CTE9DSyh1bnNpZ25lZCwgYnl0ZU9mZnNldCwgdG9V
SW50MzIoYXJnc1swXSkpOwogICAgIGludDhfdCByZXN1bHQgPSBpbXAtPmdldEludDgoYnl0ZU9m
ZnNldCwgZWMpOwogICAgIGlmIChVTkxJS0VMWShlYykpCi0gICAgICAgIHJldHVybiBWOFByb3h5
OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJu
IHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybiB2OElu
dGVnZXIocmVzdWx0LCBhcmdzLkdldElzb2xhdGUoKSk7CiB9CiAKQEAgLTgzLDE0ICs4MywxNCBA
QCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEYXRhVmlldzo6Z2V0VWludDhDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewogICAgIElOQ19TVEFUUygiRE9NLkRhdGFWaWV3Lmdl
dFVpbnQ4Iik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQ
cm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7Cisg
ICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKIAogICAgIERhdGFWaWV3KiBpbXAgPSBWOERhdGFWaWV3Ojp0b05hdGl2ZShhcmdzLkhv
bGRlcigpKTsKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICBFWENFUFRJT05fQkxPQ0so
dW5zaWduZWQsIGJ5dGVPZmZzZXQsIHRvVUludDMyKGFyZ3NbMF0pKTsKICAgICB1aW50OF90IHJl
c3VsdCA9IGltcC0+Z2V0VWludDgoYnl0ZU9mZnNldCwgZWMpOwogICAgIGlmIChVTkxJS0VMWShl
YykpCi0gICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJ
c29sYXRlKCkpOwogICAgIHJldHVybiB2OEludGVnZXIocmVzdWx0LCBhcmdzLkdldElzb2xhdGUo
KSk7CiB9CiAKQEAgLTk4LDcgKzk4LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGF0YVZp
ZXc6OnNldEludDhDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewogICAgIElO
Q19TVEFUUygiRE9NLkRhdGFWaWV3LnNldEludDgiKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8
IDIpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9y
KGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1l
bnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgRGF0YVZpZXcqIGltcCA9IFY4RGF0
YVZpZXc6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAw
OwpAQCAtMTA2LDcgKzEwNiw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERhdGFWaWV3Ojpz
ZXRJbnQ4Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICBFWENFUFRJT05f
QkxPQ0soaW50LCB2YWx1ZSwgdG9JbnQzMihhcmdzWzFdKSk7CiAgICAgaW1wLT5zZXRJbnQ4KGJ5
dGVPZmZzZXQsIHN0YXRpY19jYXN0PGludDhfdD4odmFsdWUpLCBlYyk7CiAgICAgaWYgKFVOTElL
RUxZKGVjKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJn
cy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdz
LkdldElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHY4VW5kZWZpbmVkKCk7CiB9CiAKQEAgLTExNCw3
ICsxMTQsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEYXRhVmlldzo6c2V0VWludDhDYWxs
YmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewogICAgIElOQ19TVEFUUygiRE9NLkRh
dGFWaWV3LnNldFVpbnQ4Iik7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAyKQotICAgICAgICBy
ZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xh
dGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKIAogICAgIERhdGFWaWV3KiBpbXAgPSBWOERhdGFWaWV3Ojp0b05hdGl2
ZShhcmdzLkhvbGRlcigpKTsKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKQEAgLTEyMiw3ICsx
MjIsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEYXRhVmlldzo6c2V0VWludDhDYWxsYmFj
ayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIEVYQ0VQVElPTl9CTE9DSyhpbnQsIHZh
bHVlLCB0b0ludDMyKGFyZ3NbMV0pKTsKICAgICBpbXAtPnNldFVpbnQ4KGJ5dGVPZmZzZXQsIHN0
YXRpY19jYXN0PHVpbnQ4X3Q+KHZhbHVlKSwgZWMpOwogICAgIGlmIChVTkxJS0VMWShlYykpCi0g
ICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRl
KCkpOwogICAgIHJldHVybiB2OFVuZGVmaW5lZCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9t
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERlZGljYXRlZFdvcmtl
ckNvbnRleHRDdXN0b20uY3BwCmluZGV4IGMzMzM0ZmM4ZmFiYzg5NDBlZWFkZmNlMTVkNGYyMjY0
MzcwZmM4MmIuLjBjYjZlY2E0NDU2YjcyNTk5NjE4Mjc0YTM3Mjk5NzNhZDdlM2EzZGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERlZGljYXRlZFdvcmtl
ckNvbnRleHRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwCkBAIC02Myw3ICs2Myw3IEBAIHN0
YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gaGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJiBhcmdzCiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAg
ICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgd29ya2VyQ29udGV4dC0+cG9zdE1lc3NhZ2Uo
bWVzc2FnZS5yZWxlYXNlKCksICZwb3J0cywgZWMpOwotICAgIHJldHVybiBWOFByb3h5OjpzZXRE
T01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICByZXR1cm4gc2V0RE9NRXhj
ZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiB9CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBWOERlZGljYXRlZFdvcmtlckNvbnRleHQ6OnBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6
OkFyZ3VtZW50cyYgYXJncykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcAppbmRleCBjNzZmMzIwNWQ3
MTBkY2Y0NmNhNTU1YTE2YzkxYWU2NTA5ZjYwZjA3Li4yNjAxZGM2YjViYzA2NTc1NmNmZDExZGVm
MjljNDA2YzhhODViMjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlDdXN0b20uY3BwCkBAIC01MCw3ICs1MCw3
IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERpcmVjdG9yeUVudHJ5OjpnZXREaXJlY3RvcnlD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzCiAgICAgRGlyZWN0b3J5RW50cnkqIGltcCA9IFY4
RGlyZWN0b3J5RW50cnk6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogCiAgICAgaWYgKGFyZ3Mu
TGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1
bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVu
b3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIFNUUklOR19UT19W
OFBBUkFNRVRFUl9FWENFUFRJT05fQkxPQ0soVjhQYXJhbWV0ZXI8V2l0aFVuZGVmaW5lZE9yTnVs
bENoZWNrPiwgcGF0aCwgYXJnc1swXSk7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPD0gMSkgewpA
QCAtNzUsMTMgKzc1LDEzIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERpcmVjdG9yeUVudHJ5
OjpnZXREaXJlY3RvcnlDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzCiAgICAgUmVmUHRyPEVu
dHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjazsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDIg
JiYgIWFyZ3NbMl0tPklzTnVsbCgpICYmICFhcmdzWzJdLT5Jc1VuZGVmaW5lZCgpKSB7CiAgICAg
ICAgIGlmICghYXJnc1syXS0+SXNPYmplY3QoKSkKLSAgICAgICAgICAgIHJldHVybiBWOFByb3h5
OjpzZXRET01FeGNlcHRpb24oVFlQRV9NSVNNQVRDSF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsK
KyAgICAgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oVFlQRV9NSVNNQVRDSF9FUlIsIGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgc3VjY2Vzc0NhbGxiYWNrID0gVjhFbnRyeUNhbGxi
YWNrOjpjcmVhdGUoYXJnc1syXSwgZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKICAgICB9
CiAgICAgUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2s7CiAgICAgaWYgKGFyZ3Mu
TGVuZ3RoKCkgPiAzICYmICFhcmdzWzNdLT5Jc051bGwoKSAmJiAhYXJnc1szXS0+SXNVbmRlZmlu
ZWQoKSkgewogICAgICAgICBpZiAoIWFyZ3NbM10tPklzT2JqZWN0KCkpCi0gICAgICAgICAgICBy
ZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdl
dElzb2xhdGUoKSk7CisgICAgICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlT
TUFUQ0hfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgICAgIGVycm9yQ2FsbGJhY2sgPSBW
OEVycm9yQ2FsbGJhY2s6OmNyZWF0ZShhcmdzWzNdLCBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpOwogICAgIH0KICAgICBpbXAtPmdldERpcmVjdG9yeShwYXRoLCBmbGFncywgc3VjY2Vzc0Nh
bGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKQEAgLTk0LDcgKzk0LDcgQEAgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4RGlyZWN0b3J5RW50cnk6OmdldEZpbGVDYWxsYmFjayhjb25zdCB2ODo6QXJndW1l
bnRzJiBhcmcKICAgICBEaXJlY3RvcnlFbnRyeSogaW1wID0gVjhEaXJlY3RvcnlFbnRyeTo6dG9O
YXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0gICAg
ICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3Io
YXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgU1RSSU5HX1RPX1Y4UEFSQU1FVEVSX0VYQ0VQVElP
Tl9CTE9DSyhWOFBhcmFtZXRlcjxXaXRoVW5kZWZpbmVkT3JOdWxsQ2hlY2s+LCBwYXRoLCBhcmdz
WzBdKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8PSAxKSB7CkBAIC0xMTksMTMgKzExOSwxMyBA
QCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEaXJlY3RvcnlFbnRyeTo6Z2V0RmlsZUNhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZwogICAgIFJlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNj
ZXNzQ2FsbGJhY2s7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAyICYmICFhcmdzWzJdLT5Jc051
bGwoKSAmJiAhYXJnc1syXS0+SXNVbmRlZmluZWQoKSkgewogICAgICAgICBpZiAoIWFyZ3NbMl0t
PklzT2JqZWN0KCkpCi0gICAgICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9u
KFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgICAgICByZXR1
cm4gc2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7
CiAgICAgICAgIHN1Y2Nlc3NDYWxsYmFjayA9IFY4RW50cnlDYWxsYmFjazo6Y3JlYXRlKGFyZ3Nb
Ml0sIGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgfQogICAgIFJlZlB0cjxFcnJv
ckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrOwogICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMyAmJiAh
YXJnc1szXS0+SXNOdWxsKCkgJiYgIWFyZ3NbM10tPklzVW5kZWZpbmVkKCkpIHsKICAgICAgICAg
aWYgKCFhcmdzWzNdLT5Jc09iamVjdCgpKQotICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNl
dERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOworICAg
ICAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENIX0VSUiwgYXJncy5H
ZXRJc29sYXRlKCkpOwogICAgICAgICBlcnJvckNhbGxiYWNrID0gVjhFcnJvckNhbGxiYWNrOjpj
cmVhdGUoYXJnc1szXSwgZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKICAgICB9CiAgICAg
aW1wLT5nZXRGaWxlKHBhdGgsIGZsYWdzLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2sp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0
b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAKaW5kZXggNjQ2YzI5ZDIzOTU1ZDQ3ZTM2
MTIyYzAxYjliYjBlY2EzMjdlZTJiMy4uYmVjNGZmYzk4MjNjNDgwMDVhYmJhYWE4NWRlOTQ0NjI2
ODAyOTY0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwCkBAIC05OCwxMCArOTgs
MTAgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGlyZWN0b3J5RW50cnlTeW5jOjpnZXREaXJl
Y3RvcnlDYWxsYmFjayhjb25zdCB2ODo6QXJndW0KICAgICBTVFJJTkdfVE9fVjhQQVJBTUVURVJf
RVhDRVBUSU9OX0JMT0NLKFY4UGFyYW1ldGVyPD4sIHBhdGgsIGFyZ3NbMF0pOwogICAgIFJlZlB0
cjxXZWJLaXRGbGFncz4gZmxhZ3MgPSBnZXRGbGFncyhhcmdzWzFdLCBlYyk7CiAgICAgaWYgKFVO
TElLRUxZKGVjKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywg
YXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBh
cmdzLkdldElzb2xhdGUoKSk7CiAgICAgUmVmUHRyPERpcmVjdG9yeUVudHJ5U3luYz4gcmVzdWx0
ID0gaW1wLT5nZXREaXJlY3RvcnkocGF0aCwgZmxhZ3MsIGVjKTsKICAgICBpZiAoVU5MSUtFTFko
ZWMpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdl
dElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdG9WOChyZXN1bHQucmVsZWFzZSgpLCBhcmdzLkdldElz
b2xhdGUoKSk7CiB9CiAKQEAgLTExMywxMCArMTEzLDEwIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBWOERpcmVjdG9yeUVudHJ5U3luYzo6Z2V0RmlsZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVu
dHMmCiAgICAgU1RSSU5HX1RPX1Y4UEFSQU1FVEVSX0VYQ0VQVElPTl9CTE9DSyhWOFBhcmFtZXRl
cjw+LCBwYXRoLCBhcmdzWzBdKTsKICAgICBSZWZQdHI8V2ViS2l0RmxhZ3M+IGZsYWdzID0gZ2V0
RmxhZ3MoYXJnc1sxXSwgZWMpOwogICAgIGlmIChVTkxJS0VMWShlYykpCi0gICAgICAgIHJldHVy
biBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAg
ICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIFJl
ZlB0cjxGaWxlRW50cnlTeW5jPiByZXN1bHQgPSBpbXAtPmdldEZpbGUocGF0aCwgZmxhZ3MsIGVj
KTsKICAgICBpZiAoVU5MSUtFTFkoZWMpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9N
RXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRET01F
eGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdG9WOChyZXN1bHQu
cmVsZWFzZSgpLCBhcmdzLkdldElzb2xhdGUoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcAppbmRleCAxNTkw
N2E1MmY4ZDhhNjdmOTAyZmZkNDI3NzE5YmQ4MzNiYjNhMmZhLi5jZTcyYjYwMmFmYjZiODFiYjgz
OTQyNzQzOWNmYjg4NjU2YjVmMWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhEb2N1bWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRDdXN0b20uY3BwCkBAIC03OCw3ICs3OCw3IEBAIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBWOERvY3VtZW50OjpldmFsdWF0ZUNhbGxiYWNrKGNvbnN0IHY4
OjpBcmd1bWVudHMmIGFyZ3MpCiAKICAgICBSZWZQdHI8WFBhdGhOU1Jlc29sdmVyPiByZXNvbHZl
ciA9IFY4RE9NV3JhcHBlcjo6Z2V0WFBhdGhOU1Jlc29sdmVyKGFyZ3NbMl0pOwogICAgIGlmICgh
cmVzb2x2ZXIgJiYgIWFyZ3NbMl0tPklzTnVsbCgpICYmICFhcmdzWzJdLT5Jc1VuZGVmaW5lZCgp
KQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hf
RVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24o
VFlQRV9NSVNNQVRDSF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIGludCB0eXBlID0g
dG9JbnQzMihhcmdzWzNdKTsKICAgICBSZWZQdHI8WFBhdGhSZXN1bHQ+IGluUmVzdWx0OwpAQCAt
OTEsNyArOTEsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEb2N1bWVudDo6ZXZhbHVhdGVD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgICAgICByZXR1cm4gdGhyb3dF
cnJvcihleGNlcHRpb25DYXRjaGVyLkV4Y2VwdGlvbigpLCBhcmdzLkdldElzb2xhdGUoKSk7CiAK
ICAgICBpZiAoZWMpCi0gICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywg
YXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgcmV0dXJuIHRvVjgocmVzdWx0LnJlbGVhc2UoKSwg
YXJncy5HZXRJc29sYXRlKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCmluZGV4
IDk0MjYwMmQwNjBiNjE5ODBiMWFjZGJiNzEzNTgzMDJlZjBjZjI3MDEuLmY5ZTM2Y2I2YjAwNzE5
NzRiYTRhYmE3ODhjY2RkMmYzYzJiMjFlZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5j
cHAKQEAgLTEyNyw3ICsxMjcsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhIVE1MQ2FudmFz
RWxlbWVudDo6dG9EYXRhVVJMQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cwogICAgIH0KIAog
ICAgIFN0cmluZyByZXN1bHQgPSBjYW52YXMtPnRvRGF0YVVSTCh0eXBlLCBxdWFsaXR5UHRyLCBl
Yyk7Ci0gICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7
CisgICAgc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgcmV0dXJu
IHY4U3RyaW5nT3JVbmRlZmluZWQocmVzdWx0LCBhcmdzLkdldElzb2xhdGUoKSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxEb2N1bWVu
dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRG9j
dW1lbnRDdXN0b20uY3BwCmluZGV4IDBkNDIxZjk2ZDgyYzNhMzVjMWYxZGNkMjk1NTU2N2JhMjdk
Y2MyOGQuLjMyN2M2NGJmNmVmODc1MGJjYjQzNDlkYzk5MWRjZTM3ZDY5MDI1ZTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxEb2N1bWVudEN1c3Rv
bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTERvY3Vt
ZW50Q3VzdG9tLmNwcApAQCAtMTUxLDcgKzE1MSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OEhUTUxEb2N1bWVudDo6b3BlbkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAg
ICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBmdW5jdGlvbiA9IGdsb2JhbC0+R2V0KHY4
OjpTdHJpbmc6Ok5ldygib3BlbiIpKTsKICAgICAgICAgICAgIC8vIElmIHRoZSBvcGVuIHByb3Bl
cnR5IGlzIG5vdCBhIGZ1bmN0aW9uIHRocm93IGEgdHlwZSBlcnJvci4KICAgICAgICAgICAgIGlm
ICghZnVuY3Rpb24tPklzRnVuY3Rpb24oKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gVjhQcm94
eTo6dGhyb3dUeXBlRXJyb3IoIm9wZW4gaXMgbm90IGEgZnVuY3Rpb24iLCBhcmdzLkdldElzb2xh
dGUoKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKCJvcGVuIGlzIG5v
dCBhIGZ1bmN0aW9uIiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICAgICAgLy8gV3JhcCB1
cCB0aGUgYXJndW1lbnRzIGFuZCBjYWxsIHRoZSBmdW5jdGlvbi4KICAgICAgICAgICAgIE93bkFy
cmF5UHRyPHY4OjpMb2NhbDx2ODo6VmFsdWU+ID4gcGFyYW1zID0gYWRvcHRBcnJheVB0cihuZXcg
djg6OkxvY2FsPHY4OjpWYWx1ZT5bYXJncy5MZW5ndGgoKV0pOwogICAgICAgICAgICAgZm9yIChp
bnQgaSA9IDA7IGkgPCBhcmdzLkxlbmd0aCgpOyBpKyspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRWxlbWVudEN1c3RvbS5jcHAKaW5kZXgg
YjljMGIwNmU0NDgzOTVjZGQ3ZTZhMTMyZGI3NDkzM2Q0ODZmM2FjMy4uNTgyNDA5OGQyYzNlZmUy
MjI0MjlhZGM2NjBiNTQ0MTVmOGU1YWM4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEVsZW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxFbGVtZW50Q3VzdG9tLmNwcApAQCAtNjAsNyAr
NjAsNyBAQCB2b2lkIFY4SFRNTEVsZW1lbnQ6Oml0ZW1WYWx1ZUFjY2Vzc29yU2V0dGVyKHY4OjpM
b2NhbDx2ODo6U3RyaW5nPiBuYW1lLCB2ODo6TG9jYQogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAw
OwogICAgIGltcGwtPnNldEl0ZW1WYWx1ZSh0b1dlYkNvcmVTdHJpbmcodmFsdWUpLCBlYyk7CiAg
ICAgaWYgKGVjKQotICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0
SXNvbGF0ZSgpKTsKKyAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUo
KSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKaW5k
ZXggYzA2ZDc3YTdlYTQ1MmU5ZGViNDI5NThkMzY2NDQ4N2JkOTcxYmQ5NS4uODExMTBiNzg1NmQx
MDUwMzllN2NmM2U3NTAzZTE3OTc5NjRlYTZjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW1hZ2VFbGVtZW50Q29u
c3RydWN0b3IuY3BwCkBAIC01MSwxOCArNTEsMTggQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiB2OEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmcK
ICAgICBJTkNfU1RBVFMoIkRPTS5IVE1MSW1hZ2VFbGVtZW50LkNvbnRydWN0b3IiKTsKIAogICAg
IGlmICghYXJncy5Jc0NvbnN0cnVjdENhbGwoKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRo
cm93VHlwZUVycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMg
YSBmdW5jdGlvbi4iLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd1R5
cGVFcnJvcigiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVu
Y3Rpb24uIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgaWYgKENvbnN0cnVjdG9yTW9kZTo6
Y3VycmVudCgpID09IENvbnN0cnVjdG9yTW9kZTo6V3JhcEV4aXN0aW5nT2JqZWN0KQogICAgICAg
ICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKIAogICAgIEZyYW1lKiBmcmFtZSA9IGN1cnJlbnRGcmFt
ZShCaW5kaW5nU3RhdGU6Omluc3RhbmNlKCkpOwogICAgIGlmICghZnJhbWUpCi0gICAgICAgIHJl
dHVybiBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJlZmVyZW5jZUVycm9yLCAiSW1hZ2Ug
Y29uc3RydWN0b3IgYXNzb2NpYXRlZCBmcmFtZSBpcyB1bmF2YWlsYWJsZSIsIGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoUmVmZXJlbmNlRXJyb3IsICJJbWFn
ZSBjb25zdHJ1Y3RvciBhc3NvY2lhdGVkIGZyYW1lIGlzIHVuYXZhaWxhYmxlIiwgYXJncy5HZXRJ
c29sYXRlKCkpOwogCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUtPmRvY3VtZW50KCk7
CiAgICAgaWYgKCFkb2N1bWVudCkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3Io
VjhQcm94eTo6UmVmZXJlbmNlRXJyb3IsICJJbWFnZSBjb25zdHJ1Y3RvciBhc3NvY2lhdGVkIGRv
Y3VtZW50IGlzIHVuYXZhaWxhYmxlIiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1
cm4gdGhyb3dFcnJvcihSZWZlcmVuY2VFcnJvciwgIkltYWdlIGNvbnN0cnVjdG9yIGFzc29jaWF0
ZWQgZG9jdW1lbnQgaXMgdW5hdmFpbGFibGUiLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICAv
LyBNYWtlIHN1cmUgdGhlIGRvY3VtZW50IGlzIGFkZGVkIHRvIHRoZSBET00gTm9kZSBtYXAuIE90
aGVyd2lzZSwgdGhlIEhUTUxJbWFnZUVsZW1lbnQgaW5zdGFuY2UKICAgICAvLyBtYXkgZW5kIHVw
IGJlaW5nIHRoZSBvbmx5IG5vZGUgaW4gdGhlIG1hcCBhbmQgZ2V0IGdhcmJhZ2UtY2NvbGxlY3Rl
ZCBwcmVtYXR1cmVseS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOEhUTUxJbnB1dEVsZW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SFRNTElucHV0RWxlbWVudEN1c3RvbS5jcHAKaW5kZXggMDNlYWQ2NTg0
ODcxMjE5YTY4MzA4ZDViZGQzZjYwNmY3ZTU0MzNhYi4uNjM4MjVhOWIyYzM4MWYxYTM5MWVlYTlm
NzkxOTVmYzFiN2EzNDZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4SFRNTElucHV0RWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTElucHV0RWxlbWVudEN1c3RvbS5jcHAKQEAgLTQ1LDcg
KzQ1LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4SFRNTElucHV0RWxlbWVudDo6c2VsZWN0
aW9uU3RhcnRBY2Nlc3NvckdldHRlcih2ODo6TG9jYWwKICAgICBIVE1MSW5wdXRFbGVtZW50KiBp
bXAgPSBWOEhUTUxJbnB1dEVsZW1lbnQ6OnRvTmF0aXZlKGhvbGRlcik7CiAKICAgICBpZiAoIWlt
cC0+Y2FuSGF2ZVNlbGVjdGlvbigpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBl
RXJyb3IoIkFjY2Vzc2luZyBzZWxlY3Rpb25TdGFydCBvbiBhbiBpbnB1dCBlbGVtZW50IHRoYXQg
Y2Fubm90IGhhdmUgYSBzZWxlY3Rpb24uIiwgaW5mby5HZXRJc29sYXRlKCkpOworICAgICAgICBy
ZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkFjY2Vzc2luZyBzZWxlY3Rpb25TdGFydCBvbiBhbiBpbnB1
dCBlbGVtZW50IHRoYXQgY2Fubm90IGhhdmUgYSBzZWxlY3Rpb24uIiwgaW5mby5HZXRJc29sYXRl
KCkpOwogCiAgICAgaW50IHYgPSBpbXAtPnNlbGVjdGlvblN0YXJ0KCk7CiAgICAgcmV0dXJuIHY4
SW50ZWdlcih2LCBpbmZvLkdldElzb2xhdGUoKSk7CkBAIC01OCw3ICs1OCw3IEBAIHZvaWQgVjhI
VE1MSW5wdXRFbGVtZW50OjpzZWxlY3Rpb25TdGFydEFjY2Vzc29yU2V0dGVyKHY4OjpMb2NhbDx2
ODo6U3RyaW5nPiBuYW1lCiAgICAgSFRNTElucHV0RWxlbWVudCogaW1wID0gVjhIVE1MSW5wdXRF
bGVtZW50Ojp0b05hdGl2ZShob2xkZXIpOwogCiAgICAgaWYgKCFpbXAtPmNhbkhhdmVTZWxlY3Rp
b24oKSkgewotICAgICAgICBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiQWNjZXNzaW5nIHNlbGVj
dGlvblN0YXJ0IG9uIGFuIGlucHV0IGVsZW1lbnQgdGhhdCBjYW5ub3QgaGF2ZSBhIHNlbGVjdGlv
bi4iLCBpbmZvLkdldElzb2xhdGUoKSk7CisgICAgICAgIHRocm93VHlwZUVycm9yKCJBY2Nlc3Np
bmcgc2VsZWN0aW9uU3RhcnQgb24gYW4gaW5wdXQgZWxlbWVudCB0aGF0IGNhbm5vdCBoYXZlIGEg
c2VsZWN0aW9uLiIsIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
ICAgICBpbXAtPnNldFNlbGVjdGlvblN0YXJ0KHZhbHVlLT5JbnQzMlZhbHVlKCkpOwpAQCAtNzEs
NyArNzEsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhIVE1MSW5wdXRFbGVtZW50OjpzZWxl
Y3Rpb25FbmRBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8dgogICAgIEhUTUxJbnB1dEVsZW1lbnQq
IGltcCA9IFY4SFRNTElucHV0RWxlbWVudDo6dG9OYXRpdmUoaG9sZGVyKTsKIAogICAgIGlmICgh
aW1wLT5jYW5IYXZlU2VsZWN0aW9uKCkpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5
cGVFcnJvcigiQWNjZXNzaW5nIHNlbGVjdGlvbkVuZCBvbiBhbiBpbnB1dCBlbGVtZW50IHRoYXQg
Y2Fubm90IGhhdmUgYSBzZWxlY3Rpb24uIiwgaW5mby5HZXRJc29sYXRlKCkpOworICAgICAgICBy
ZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkFjY2Vzc2luZyBzZWxlY3Rpb25FbmQgb24gYW4gaW5wdXQg
ZWxlbWVudCB0aGF0IGNhbm5vdCBoYXZlIGEgc2VsZWN0aW9uLiIsIGluZm8uR2V0SXNvbGF0ZSgp
KTsKIAogICAgIGludCB2ID0gaW1wLT5zZWxlY3Rpb25FbmQoKTsKICAgICByZXR1cm4gdjhJbnRl
Z2VyKHYsIGluZm8uR2V0SXNvbGF0ZSgpKTsKQEAgLTg0LDcgKzg0LDcgQEAgdm9pZCBWOEhUTUxJ
bnB1dEVsZW1lbnQ6OnNlbGVjdGlvbkVuZEFjY2Vzc29yU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3Ry
aW5nPiBuYW1lLAogICAgIEhUTUxJbnB1dEVsZW1lbnQqIGltcCA9IFY4SFRNTElucHV0RWxlbWVu
dDo6dG9OYXRpdmUoaG9sZGVyKTsKIAogICAgIGlmICghaW1wLT5jYW5IYXZlU2VsZWN0aW9uKCkp
IHsKLSAgICAgICAgVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoIkFjY2Vzc2luZyBzZWxlY3Rpb25F
bmQgb24gYW4gaW5wdXQgZWxlbWVudCB0aGF0IGNhbm5vdCBoYXZlIGEgc2VsZWN0aW9uLiIsIGlu
Zm8uR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgdGhyb3dUeXBlRXJyb3IoIkFjY2Vzc2luZyBzZWxl
Y3Rpb25FbmQgb24gYW4gaW5wdXQgZWxlbWVudCB0aGF0IGNhbm5vdCBoYXZlIGEgc2VsZWN0aW9u
LiIsIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtOTgs
NyArOTgsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhIVE1MSW5wdXRFbGVtZW50OjpzZWxl
Y3Rpb25EaXJlY3Rpb25BY2Nlc3NvckdldHRlcih2ODo6TAogICAgIEhUTUxJbnB1dEVsZW1lbnQq
IGltcCA9IFY4SFRNTElucHV0RWxlbWVudDo6dG9OYXRpdmUoaG9sZGVyKTsKIAogICAgIGlmICgh
aW1wLT5jYW5IYXZlU2VsZWN0aW9uKCkpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5
cGVFcnJvcigiQWNjZXNzaW5nIHNlbGVjdGlvbkRpcmVjdGlvbiBvbiBhbiBpbnB1dCBlbGVtZW50
IHRoYXQgY2Fubm90IGhhdmUgYSBzZWxlY3Rpb24uIiwgaW5mby5HZXRJc29sYXRlKCkpOworICAg
ICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkFjY2Vzc2luZyBzZWxlY3Rpb25EaXJlY3Rpb24g
b24gYW4gaW5wdXQgZWxlbWVudCB0aGF0IGNhbm5vdCBoYXZlIGEgc2VsZWN0aW9uLiIsIGluZm8u
R2V0SXNvbGF0ZSgpKTsKIAogICAgIHJldHVybiB2OFN0cmluZyhpbXAtPnNlbGVjdGlvbkRpcmVj
dGlvbigpLCBpbmZvLkdldElzb2xhdGUoKSk7CiB9CkBAIC0xMTAsNyArMTEwLDcgQEAgdm9pZCBW
OEhUTUxJbnB1dEVsZW1lbnQ6OnNlbGVjdGlvbkRpcmVjdGlvbkFjY2Vzc29yU2V0dGVyKHY4OjpM
b2NhbDx2ODo6U3RyaW5nPgogICAgIEhUTUxJbnB1dEVsZW1lbnQqIGltcCA9IFY4SFRNTElucHV0
RWxlbWVudDo6dG9OYXRpdmUoaG9sZGVyKTsKIAogICAgIGlmICghaW1wLT5jYW5IYXZlU2VsZWN0
aW9uKCkpIHsKLSAgICAgICAgVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoIkFjY2Vzc2luZyBzZWxl
Y3Rpb25EaXJlY3Rpb24gb24gYW4gaW5wdXQgZWxlbWVudCB0aGF0IGNhbm5vdCBoYXZlIGEgc2Vs
ZWN0aW9uLiIsIGluZm8uR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgdGhyb3dUeXBlRXJyb3IoIkFj
Y2Vzc2luZyBzZWxlY3Rpb25EaXJlY3Rpb24gb24gYW4gaW5wdXQgZWxlbWVudCB0aGF0IGNhbm5v
dCBoYXZlIGEgc2VsZWN0aW9uLiIsIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIApAQCAtMTI0LDcgKzEyNCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhU
TUxJbnB1dEVsZW1lbnQ6OnNldFNlbGVjdGlvblJhbmdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyCiAg
ICAgSFRNTElucHV0RWxlbWVudCogaW1wID0gVjhIVE1MSW5wdXRFbGVtZW50Ojp0b05hdGl2ZSho
b2xkZXIpOwogCiAgICAgaWYgKCFpbXAtPmNhbkhhdmVTZWxlY3Rpb24oKSkKLSAgICAgICAgcmV0
dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJDYWxsaW5nIHNldFNlbGVjdGlvblJhbmdlIG9u
IGFuIGlucHV0IGVsZW1lbnQgdGhhdCBjYW5ub3QgaGF2ZSBhIHNlbGVjdGlvbi4iLCBhcmdzLkdl
dElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigiQ2FsbGluZyBzZXRT
ZWxlY3Rpb25SYW5nZSBvbiBhbiBpbnB1dCBlbGVtZW50IHRoYXQgY2Fubm90IGhhdmUgYSBzZWxl
Y3Rpb24uIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgaW50IHN0YXJ0ID0gYXJnc1swXS0+
SW50MzJWYWx1ZSgpOwogICAgIGludCBlbmQgPSBhcmdzWzFdLT5JbnQzMlZhbHVlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MTWVkaWFFbGVt
ZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxN
ZWRpYUVsZW1lbnRDdXN0b20uY3BwCmluZGV4IDMyN2ZlZmYzZjBhNWY2OGEzNmExZDBkOTBlN2Ey
MWUxNWM5ZWU0OTguLmRkYjUxNzIwMjIyNjM2MGQxYWUwYWVjYmJkYTU3NWI1ODNmZDZhNmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxNZWRpYUVs
ZW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEhUTUxNZWRpYUVsZW1lbnRDdXN0b20uY3BwCkBAIC00Myw3ICs0Myw3IEBAIHZvaWQgVjhIVE1M
TWVkaWFFbGVtZW50Ojpjb250cm9sbGVyQWNjZXNzb3JTZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJp
bmc+IG5hbWUsIHY4CiAgICAgICAgIGNvbnRyb2xsZXIgPSBWOE1lZGlhQ29udHJvbGxlcjo6dG9O
YXRpdmUodmFsdWUtPlRvT2JqZWN0KCkpOwogICAgIAogICAgIGlmICghY29udHJvbGxlcikgewot
ICAgICAgICBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiVmFsdWUgaXMgbm90IG9mIHR5cGUgTWVk
aWFDb250cm9sbGVyIiwgaW5mby5HZXRJc29sYXRlKCkpOworICAgICAgICB0aHJvd1R5cGVFcnJv
cigiVmFsdWUgaXMgbm90IG9mIHR5cGUgTWVkaWFDb250cm9sbGVyIiwgaW5mby5HZXRJc29sYXRl
KCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTE9wdGlvbnNDb2xsZWN0aW9u
Q3VzdG9tLmNwcAppbmRleCA5MDMwYjUxMmQ3ZDE2MzM0NWRhM2IzYTE0NzEwYjhlYTJmY2FjNGM5
Li44ZWU5OTFkNjc1ZjljMjEzNTExNWJiMjM4NWFjYjI4ZGVkMDRmYjRkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MT3B0aW9uc0NvbGxlY3Rpb25D
dXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxP
cHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHAKQEAgLTU2LDcgKzU2LDcgQEAgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IFY4SFRNTE9wdGlvbnNDb2xsZWN0aW9uOjphZGRDYWxsYmFjayhjb25zdCB2ODo6
QXJndW1lbnRzJgogewogICAgIElOQ19TVEFUUygiRE9NLkhUTUxPcHRpb25zQ29sbGVjdGlvbi5h
ZGQoKSIpOwogICAgIGlmICghVjhIVE1MT3B0aW9uRWxlbWVudDo6SGFzSW5zdGFuY2UoYXJnc1sw
XSkpCi0gICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oVFlQRV9NSVNNQVRD
SF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlv
bihUWVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIEhUTUxPcHRpb25z
Q29sbGVjdGlvbiogaW1wID0gVjhIVE1MT3B0aW9uc0NvbGxlY3Rpb246OnRvTmF0aXZlKGFyZ3Mu
SG9sZGVyKCkpOwogICAgIEhUTUxPcHRpb25FbGVtZW50KiBvcHRpb24gPSBWOEhUTUxPcHRpb25F
bGVtZW50Ojp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KHY4OjpIYW5kbGU8djg6Ok9i
amVjdD46OkNhc3QoYXJnc1swXSkpKTsKIApAQCAtNzgsNyArNzgsNyBAQCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhIVE1MT3B0aW9uc0NvbGxlY3Rpb246OmFkZENhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmCiAgICAgfQogCiAgICAgaWYgKGVjKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6
c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBz
ZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIHJldHVybiB2ODo6
VW5kZWZpbmVkKCk7CiB9CkBAIC0xMDksNyArMTA5LDcgQEAgdm9pZCBWOEhUTUxPcHRpb25zQ29s
bGVjdGlvbjo6bGVuZ3RoQWNjZXNzb3JTZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUs
IHYKICAgICBpZiAoIWVjKQogICAgICAgICBpbXAtPnNldExlbmd0aChuZXdMZW5ndGgsIGVjKTsK
IAotICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOwor
ICAgIHNldERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOwogfQogCiB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhIVE1MT3B0aW9uc0NvbGxlY3Rpb246OmluZGV4ZWRQcm9wZXJ0eUdl
dHRlcih1aW50MzJfdCBpbmRleCwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhpc3RvcnlDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SGlzdG9yeUN1c3RvbS5j
cHAKaW5kZXggNmY0Y2Q2ODdhNTM3YTBiZjQxMmQxOTQ4YjkwN2QzZjUwZjQ1YWIwMi4uYWNkYjc0
OTcyM2VlMDVjZWUzNWU0NzIyMzI4MmQ5MzA5OTcwOWNlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SGlzdG9yeUN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SGlzdG9yeUN1c3RvbS5jcHAKQEAgLTgxLDcg
KzgxLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4SGlzdG9yeTo6cHVzaFN0YXRlQ2FsbGJh
Y2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICBIaXN0b3J5KiBoaXN0b3J5ID0gVjhI
aXN0b3J5Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBoaXN0b3J5LT5zdGF0ZU9iamVj
dEFkZGVkKGhpc3RvcnlTdGF0ZS5yZWxlYXNlKCksIHRpdGxlLCB1cmwsIEhpc3Rvcnk6OlN0YXRl
T2JqZWN0UHVzaCwgZWMpOwogICAgIGFyZ3MuSG9sZGVyKCktPkRlbGV0ZUhpZGRlblZhbHVlKFY4
SGlkZGVuUHJvcGVydHlOYW1lOjpzdGF0ZSgpKTsKLSAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9N
RXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgcmV0dXJuIHNldERPTUV4Y2Vw
dGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogfQogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
VjhIaXN0b3J5OjpyZXBsYWNlU3RhdGVDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdz
KQpAQCAtMTA2LDcgKzEwNiw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhpc3Rvcnk6OnJl
cGxhY2VTdGF0ZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgSGlzdG9y
eSogaGlzdG9yeSA9IFY4SGlzdG9yeTo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgaGlz
dG9yeS0+c3RhdGVPYmplY3RBZGRlZChoaXN0b3J5U3RhdGUucmVsZWFzZSgpLCB0aXRsZSwgdXJs
LCBIaXN0b3J5OjpTdGF0ZU9iamVjdFJlcGxhY2UsIGVjKTsKICAgICBhcmdzLkhvbGRlcigpLT5E
ZWxldGVIaWRkZW5WYWx1ZShWOEhpZGRlblByb3BlcnR5TmFtZTo6c3RhdGUoKSk7Ci0gICAgcmV0
dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAg
IHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIH0KIAogYm9v
bCBWOEhpc3Rvcnk6OmluZGV4ZWRTZWN1cml0eUNoZWNrKHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBo
b3N0LCB1aW50MzJfdCBpbmRleCwgdjg6OkFjY2Vzc1R5cGUgdHlwZSwgdjg6OkxvY2FsPHY4OjpW
YWx1ZT4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJ
bmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcAppbmRleCBmNzc5NGFlOTVkNzU2
MjQyMzdmZmNhM2M2YWI2MzM2YjQ2NDA4Y2ZmLi4wYTQwYjZiYjkwM2U2MjUzMzczZWYxODFjMzEy
N2E2ZGNhODI1MTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAKQEAgLTg0LDcg
Kzg0LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4SW5qZWN0ZWRTY3JpcHRIb3N0OjppbnNw
ZWN0ZWRPYmplY3RDYWxsYmFjayhjb25zdCB2ODo6QXIKICAgICAgICAgcmV0dXJuIHY4OjpVbmRl
ZmluZWQoKTsKIAogICAgIGlmICghYXJnc1swXS0+SXNJbnQzMigpKQotICAgICAgICByZXR1cm4g
VjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoImFyZ3VtZW50IGhhcyB0byBiZSBhbiBpbnRlZ2VyIiwg
YXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoImFyZ3Vt
ZW50IGhhcyB0byBiZSBhbiBpbnRlZ2VyIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgSW5q
ZWN0ZWRTY3JpcHRIb3N0KiBob3N0ID0gVjhJbmplY3RlZFNjcmlwdEhvc3Q6OnRvTmF0aXZlKGFy
Z3MuSG9sZGVyKCkpOwogICAgIEluamVjdGVkU2NyaXB0SG9zdDo6SW5zcGVjdGFibGVPYmplY3Qq
IG9iamVjdCA9IGhvc3QtPmluc3BlY3RlZE9iamVjdChhcmdzWzBdLT5Ub0ludDMyKCktPlZhbHVl
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW50
ZW50Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SW50ZW50Q29uc3RydWN0b3IuY3BwCmluZGV4IDE2NGU2OTFjYzg1ZDJmZTUyM2IyNTllZTU5YjJi
MDFiN2JkNzE1Y2MuLjg0OGE5MTY1NmQxZDNmMTBlNWM4NzEyODE3YjVkNGI0NTE2YWE2NTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEludGVudENvbnN0
cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbnRl
bnRDb25zdHJ1Y3Rvci5jcHAKQEAgLTQ3LDEyICs0NywxMiBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gVjhJbnRlbnQ6OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJn
cykKICAgICBJTkNfU1RBVFMoIkRPTS5JbnRlbnQuQ29uc3RydWN0b3IiKTsKIAogICAgIGlmICgh
YXJncy5Jc0NvbnN0cnVjdENhbGwoKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlw
ZUVycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5j
dGlvbi4iLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJv
cigiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24u
IiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgaWYgKENvbnN0cnVjdG9yTW9kZTo6Y3VycmVu
dCgpID09IENvbnN0cnVjdG9yTW9kZTo6V3JhcEV4aXN0aW5nT2JqZWN0KQogICAgICAgICByZXR1
cm4gYXJncy5Ib2xkZXIoKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAgIHJl
dHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5H
ZXRJc29sYXRlKCkpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpID09IDEpIHsKICAgICAgICAgLy8g
VXNlIHRoZSBkaWN0aW9uYXJ5IGNvbnN0cnVjdG9yLiBUaGlzIGJsb2NrIHdpbGwgcmV0dXJuIGlm
IHRoZQogICAgICAgICAvLyBhcmd1bWVudCBpc24ndCBhIHZhbGlkIERpY3Rpb25hcnkuCkBAIC02
MCw3ICs2MCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEludGVudDo6Y29uc3RydWN0b3JD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgICAgICBFeGNlcHRpb25Db2Rl
IGVjID0gMDsKICAgICAgICAgUmVmUHRyPEludGVudD4gaW1wbCA9IEludGVudDo6Y3JlYXRlKFNj
cmlwdFN0YXRlOjpjdXJyZW50KCksIG9wdGlvbnMsIGVjKTsKICAgICAgICAgaWYgKGVjKQotICAg
ICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29s
YXRlKCkpOworICAgICAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJ
c29sYXRlKCkpOwogCiAgICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IGFy
Z3MuSG9sZGVyKCk7CiAgICAgICAgIFY4RE9NV3JhcHBlcjo6c2V0RE9NV3JhcHBlcih3cmFwcGVy
LCAmaW5mbywgaW1wbC5nZXQoKSk7CkBAIC03NSwxNiArNzUsMTYgQEAgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4SW50ZW50Ojpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMm
IGFyZ3MpCiAgICAgQXJyYXlCdWZmZXJBcnJheSBhcnJheUJ1ZmZlckFycmF5VHJhbnNmZXJMaXN0
OwogICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMykgewogICAgICAgICBpZiAoIWV4dHJhY3RUcmFu
c2ZlcmFibGVzKGFyZ3NbM10sIG1lc3NhZ2VQb3J0QXJyYXlUcmFuc2Zlckxpc3QsIGFycmF5QnVm
ZmVyQXJyYXlUcmFuc2Zlckxpc3QsIGFyZ3MuR2V0SXNvbGF0ZSgpKSkKLSAgICAgICAgICAgIHJl
dHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiQ291bGQgbm90IGV4dHJhY3QgdHJhbnNmZXJh
YmxlcyIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgICAgIHJldHVybiB0aHJvd1R5cGVF
cnJvcigiQ291bGQgbm90IGV4dHJhY3QgdHJhbnNmZXJhYmxlcyIsIGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKICAgICB9CiAgICAgYm9vbCBkYXRhRGlkVGhyb3cgPSBmYWxzZTsKICAgICBSZWZQdHI8U2Vy
aWFsaXplZFNjcmlwdFZhbHVlPiBkYXRhID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUo
YXJnc1syXSwgJm1lc3NhZ2VQb3J0QXJyYXlUcmFuc2Zlckxpc3QsICZhcnJheUJ1ZmZlckFycmF5
VHJhbnNmZXJMaXN0LCBkYXRhRGlkVGhyb3cpOwogICAgIGlmIChkYXRhRGlkVGhyb3cpCi0gICAg
ICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oREFUQV9DTE9ORV9FUlIsIGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihEQVRBX0NMT05F
X0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgUmVmUHRyPEludGVudD4gaW1wbCA9IElu
dGVudDo6Y3JlYXRlKGFjdGlvbiwgdHlwZSwgZGF0YSwgbWVzc2FnZVBvcnRBcnJheVRyYW5zZmVy
TGlzdCwgZWMpOwogICAgIGlmIChlYykKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4
Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhj
ZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICB2ODo6SGFuZGxlPHY4OjpPYmpl
Y3Q+IHdyYXBwZXIgPSBhcmdzLkhvbGRlcigpOwogICAgIFY4RE9NV3JhcHBlcjo6c2V0RE9NV3Jh
cHBlcih3cmFwcGVyLCAmaW5mbywgaW1wbC5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhMb2NhdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhMb2NhdGlvbkN1c3RvbS5jcHAKaW5kZXggNTE5MjU2
M2Q3MmVmYzVlOGZlZTBhMjlmMzNkNDFhZDA3ODE4NWY1ZC4uZGY5ZjM4NTI3NjI1YjQxNWM5MzJh
NjA1OGZjZDUxMDFjZjkyODZlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4TG9jYXRpb25DdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOExvY2F0aW9uQ3VzdG9tLmNwcApAQCAtMTMwLDcgKzEzMCw3IEBAIHZv
aWQgVjhMb2NhdGlvbjo6cHJvdG9jb2xBY2Nlc3NvclNldHRlcih2ODo6TG9jYWw8djg6OlN0cmlu
Zz4gbmFtZSwgdjg6OkxvY2FsPHY4CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgaW1w
bC0+c2V0UHJvdG9jb2wocHJvdG9jb2wsIGFjdGl2ZURPTVdpbmRvdyhzdGF0ZSksIGZpcnN0RE9N
V2luZG93KHN0YXRlKSwgZWMpOwogICAgIGlmIChVTkxJS0VMWShlYykpCi0gICAgICAgIFY4UHJv
eHk6OnNldERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOworICAgICAgICBzZXRE
T01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKIH0KIAogdm9pZCBWOExvY2F0aW9u
OjpzZWFyY2hBY2Nlc3NvclNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgdjg6Okxv
Y2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlQ2hhbm5l
bENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1l
c3NhZ2VDaGFubmVsQ29uc3RydWN0b3IuY3BwCmluZGV4IDcwMTMxZGNjM2Y0OTcxMzMxNzBmNmQw
OWRjNDJjZmJkMjQyZjA4ZDMuLmFlMzU1Njk0ZDNkYzRjNzFiZjhhNTZmZTZlMjNkMWI1M2I1YWMy
OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3Nh
Z2VDaGFubmVsQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOE1lc3NhZ2VDaGFubmVsQ29uc3RydWN0b3IuY3BwCkBAIC01MSw3ICs1MSw3IEBA
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE1lc3NhZ2VDaGFubmVsOjpjb25zdHJ1Y3RvckNhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmCiAgICAgLy8gRklYTUU6IFRoZSBsb2dpYyBoZXJlIGlz
IGFsbW9zdCBleGFjdCBkdXBsaWNhdGUgb2YgVjg6OmNvbnN0cnVjdERPTU9iamVjdC4KICAgICAv
LyBDb25zaWRlciByZWZhY3RvcmluZyB0byByZWR1Y2UgZHVwbGljYXRpb24uCiAgICAgaWYgKCFh
cmdzLklzQ29uc3RydWN0Q2FsbCgpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBl
RXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0
aW9uLiIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9y
KCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4i
LCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBpZiAoQ29uc3RydWN0b3JNb2RlOjpjdXJyZW50
KCkgPT0gQ29uc3RydWN0b3JNb2RlOjpXcmFwRXhpc3RpbmdPYmplY3QpCiAgICAgICAgIHJldHVy
biBhcmdzLkhvbGRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4TWVzc2FnZVBvcnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4TWVzc2FnZVBvcnRDdXN0b20uY3BwCmluZGV4IGFhOTRjMzM5YmVjNzFlYzU4
MzJkYjk5MWI0YTIwNjhkNjg2MzY5ZmIuLjdmZThmYWFlMjIyNWFiMTY0NTg5YTc1MzA5MzRlMzgz
YTRhYzczNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OE1lc3NhZ2VQb3J0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhNZXNzYWdlUG9ydEN1c3RvbS5jcHAKQEAgLTYyLDcgKzYyLDcgQEAgc3RhdGljIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmIGFyZ3MKICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKICAgICBFeGNl
cHRpb25Db2RlIGVjID0gMDsKICAgICBtZXNzYWdlUG9ydC0+cG9zdE1lc3NhZ2UobWVzc2FnZS5y
ZWxlYXNlKCksICZwb3J0QXJyYXksIGVjKTsKLSAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhj
ZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlv
bihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogfQogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhN
ZXNzYWdlUG9ydDo6cG9zdE1lc3NhZ2VDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdz
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TXV0YXRp
b25PYnNlcnZlckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcAppbmRleCA2NmU4OGY2NDEyYmVlMzY0OTI2Yjc5
NzY1MDBiYTI2OGE4OGNkZmRjLi43YzllNTI1MGFiZjZlMmIzMjU2ZGIwNTcyZTA2ZDM5ZmY3YTM1
MWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNdXRh
dGlvbk9ic2VydmVyQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcApAQCAtNDksMjEgKzQ5LDIxIEBAIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBWOE11dGF0aW9uT2JzZXJ2ZXI6OmNvbnN0cnVjdG9yQ2FsbGJh
Y2soY29uc3Qgdjg6OkFyZ3VtZW50CiAgICAgSU5DX1NUQVRTKCJET00uTXV0YXRpb25PYnNlcnZl
ci5Db25zdHJ1Y3RvciIpOwogCiAgICAgaWYgKCFhcmdzLklzQ29uc3RydWN0Q2FsbCgpKQotICAg
ICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0
b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsK
KyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNh
bm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4iLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAg
ICBpZiAoQ29uc3RydWN0b3JNb2RlOjpjdXJyZW50KCkgPT0gQ29uc3RydWN0b3JNb2RlOjpXcmFw
RXhpc3RpbmdPYmplY3QpCiAgICAgICAgIHJldHVybiBhcmdzLkhvbGRlcigpOwogCiAgICAgaWYg
KGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91
Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJv
d05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIHY4OjpM
b2NhbDx2ODo6VmFsdWU+IGFyZyA9IGFyZ3NbMF07CiAgICAgaWYgKCFhcmctPklzT2JqZWN0KCkp
Ci0gICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oVFlQRV9NSVNNQVRDSF9F
UlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihU
WVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCA9IGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICBp
ZiAoIWNvbnRleHQpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6
OlJlZmVyZW5jZUVycm9yLCAiTXV0YXRpb25PYnNlcnZlciBjb25zdHJ1Y3RvcidzIGFzc29jaWF0
ZWQgZnJhbWUgdW5hdmFpbGFibGUiLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVy
biB0aHJvd0Vycm9yKFJlZmVyZW5jZUVycm9yLCAiTXV0YXRpb25PYnNlcnZlciBjb25zdHJ1Y3Rv
cidzIGFzc29jaWF0ZWQgZnJhbWUgdW5hdmFpbGFibGUiLCBhcmdzLkdldElzb2xhdGUoKSk7CiAK
ICAgICBSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4gY2FsbGJhY2sgPSBWOE11dGF0aW9uQ2FsbGJh
Y2s6OmNyZWF0ZShhcmcsIGNvbnRleHQpOwogICAgIFJlZlB0cjxNdXRhdGlvbk9ic2VydmVyPiBv
YnNlcnZlciA9IE11dGF0aW9uT2JzZXJ2ZXI6OmNyZWF0ZShjYWxsYmFjay5yZWxlYXNlKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3Rv
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNw
cAppbmRleCBjZTJkZmEzMTMzODU2M2IyOGVmMWFmMGM4ZGVhM2UyZWQ1NTQ1NmJmLi4zYWJhMmY5
NjdiYzg2ZmYyNjdiMzNlOTNjZGY0YzA5MWM4NGMyOTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcApAQCAtNzIsNyArNzIsNyBA
QCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhOb2RlOjppbnNlcnRCZWZvcmVDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIE5vZGUqIHJlZkNoaWxkID0gVjhOb2RlOjpIYXNJ
bnN0YW5jZShhcmdzWzFdKSA/IFY4Tm9kZTo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0
Pjo6Q2FzdChhcmdzWzFdKSkgOiAwOwogICAgIGJvb2wgc3VjY2VzcyA9IGltcC0+aW5zZXJ0QmVm
b3JlKG5ld0NoaWxkLCByZWZDaGlsZCwgZWMsIHRydWUpOwogICAgIGlmIChlYykKLSAgICAgICAg
cmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwor
ICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAg
ICAgaWYgKHN1Y2Nlc3MpCiAgICAgICAgIHJldHVybiBhcmdzWzBdOwogICAgIHJldHVybiB2ODo6
TnVsbChhcmdzLkdldElzb2xhdGUoKSk7CkBAIC04OSw3ICs4OSw3IEBAIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiBWOE5vZGU6OnJlcGxhY2VDaGlsZENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMm
IGFyZ3MpCiAgICAgTm9kZSogb2xkQ2hpbGQgPSBWOE5vZGU6Okhhc0luc3RhbmNlKGFyZ3NbMV0p
ID8gVjhOb2RlOjp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMV0p
KSA6IDA7CiAgICAgYm9vbCBzdWNjZXNzID0gaW1wLT5yZXBsYWNlQ2hpbGQobmV3Q2hpbGQsIG9s
ZENoaWxkLCBlYywgdHJ1ZSk7CiAgICAgaWYgKGVjKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6
c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBz
ZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBpZiAoc3VjY2VzcykK
ICAgICAgICAgcmV0dXJuIGFyZ3NbMV07CiAgICAgcmV0dXJuIHY4OjpOdWxsKGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKQEAgLTEwNCw3ICsxMDQsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhOb2Rl
OjpyZW1vdmVDaGlsZENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgTm9k
ZSogb2xkQ2hpbGQgPSBWOE5vZGU6Okhhc0luc3RhbmNlKGFyZ3NbMF0pID8gVjhOb2RlOjp0b05h
dGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMF0pKSA6IDA7CiAgICAgYm9v
bCBzdWNjZXNzID0gaW1wLT5yZW1vdmVDaGlsZChvbGRDaGlsZCwgZWMpOwogICAgIGlmIChlYykK
LSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29s
YXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xh
dGUoKSk7CiAgICAgaWYgKHN1Y2Nlc3MpCiAgICAgICAgIHJldHVybiBhcmdzWzBdOwogICAgIHJl
dHVybiB2ODo6TnVsbChhcmdzLkdldElzb2xhdGUoKSk7CkBAIC0xMjAsNyArMTIwLDcgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4Tm9kZTo6YXBwZW5kQ2hpbGRDYWxsYmFjayhjb25zdCB2ODo6
QXJndW1lbnRzJiBhcmdzKQogICAgIE5vZGUqIG5ld0NoaWxkID0gVjhOb2RlOjpIYXNJbnN0YW5j
ZShhcmdzWzBdKSA/IFY4Tm9kZTo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2Fz
dChhcmdzWzBdKSkgOiAwOwogICAgIGJvb2wgc3VjY2VzcyA9IGltcC0+YXBwZW5kQ2hpbGQobmV3
Q2hpbGQsIGVjLCB0cnVlICk7CiAgICAgaWYgKGVjKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6
c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBz
ZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBpZiAoc3VjY2VzcykK
ICAgICAgICAgcmV0dXJuIGFyZ3NbMF07CiAgICAgcmV0dXJuIHY4OjpOdWxsKGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OE5vdGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwCmluZGV4IDE4OTBmMWUzNGM5
MmEyN2JkYTQwMzIyYzM4ZmJjMDAxMGFkNjgwMTQuLjhmMDFhMGQxOTk1MzgwMDFjMzhjNDkxNjJl
ZGJlMGUxZDVjM2VkY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3VzdG9tLmNwcApAQCAtNTcs
NyArNTcsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhOb3RpZmljYXRpb25DZW50ZXI6OmNy
ZWF0ZUhUTUxOb3RpZmljYXRpb25DYWxsYmFjayhjb25zdAogICAgIFJlZlB0cjxOb3RpZmljYXRp
b24+IG5vdGlmaWNhdGlvbiA9IG5vdGlmaWNhdGlvbkNlbnRlci0+Y3JlYXRlSFRNTE5vdGlmaWNh
dGlvbih1cmwsIGVjKTsKIAogICAgIGlmIChlYykKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNl
dERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0
RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBub3RpZmljYXRpb24t
PnJlZigpOwogICAgIHJldHVybiB0b1Y4KG5vdGlmaWNhdGlvbi5nZXQoKSwgYXJncy5HZXRJc29s
YXRlKCkpOwpAQCAtNzIsNyArNzIsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhOb3RpZmlj
YXRpb25DZW50ZXI6OmNyZWF0ZU5vdGlmaWNhdGlvbkNhbGxiYWNrKGNvbnN0IHY4OgogICAgIFJl
ZlB0cjxOb3RpZmljYXRpb24+IG5vdGlmaWNhdGlvbiA9IG5vdGlmaWNhdGlvbkNlbnRlci0+Y3Jl
YXRlTm90aWZpY2F0aW9uKHRvV2ViQ29yZVN0cmluZyhhcmdzWzBdKSwgdG9XZWJDb3JlU3RyaW5n
KGFyZ3NbMV0pLCB0b1dlYkNvcmVTdHJpbmcoYXJnc1syXSksIGVjKTsKIAogICAgIGlmIChlYykK
LSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29s
YXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xh
dGUoKSk7CiAKICAgICBub3RpZmljYXRpb24tPnJlZigpOwogICAgIHJldHVybiB0b1Y4KG5vdGlm
aWNhdGlvbi5nZXQoKSwgYXJncy5HZXRJc29sYXRlKCkpOwpAQCAtODYsMTYgKzg2LDE2IEBAIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBlcm1pc3Np
b25DYWxsYmFjayhjb25zdCB2ODo6CiAKICAgICAvLyBNYWtlIHN1cmUgdGhhdCBzY3JpcHQgZXhl
Y3V0aW9uIGNvbnRleHQgaXMgdmFsaWQuCiAgICAgaWYgKCFjb250ZXh0KQotICAgICAgICByZXR1
cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKElOVkFMSURfU1RBVEVfRVJSLCBhcmdzLkdldElz
b2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oSU5WQUxJRF9TVEFURV9F
UlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIC8vIFJlcXVlc3RpbmcgcGVybWlzc2lvbiBp
cyBvbmx5IHZhbGlkIGZyb20gYSBwYWdlIGNvbnRleHQuCiAgICAgaWYgKGNvbnRleHQtPmlzV29y
a2VyQ29udGV4dCgpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKE5P
VF9TVVBQT1JURURfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRE
T01FeGNlcHRpb24oTk9UX1NVUFBPUlRFRF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAg
IFJlZlB0cjxWOEN1c3RvbVZvaWRDYWxsYmFjaz4gY2FsbGJhY2s7CiAgICAgaWYgKGFyZ3MuTGVu
Z3RoKCkgPiAwKSB7CiAgICAgICAgIGlmICghYXJnc1swXS0+SXNPYmplY3QoKSkKLSAgICAgICAg
ICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiQ2FsbGJhY2sgbXVzdCBiZSBvZiB2
YWxpZCB0eXBlLiIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgICAgIHJldHVybiB0aHJv
d1R5cGVFcnJvcigiQ2FsbGJhY2sgbXVzdCBiZSBvZiB2YWxpZCB0eXBlLiIsIGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKICAKICAgICAgICAgY2FsbGJhY2sgPSBWOEN1c3RvbVZvaWRDYWxsYmFjazo6Y3Jl
YXRlKGFyZ3NbMF0sIGNvbnRleHQpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFJlc3VsdFNldFJvd0xpc3RDdXN0b20uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMUmVzdWx0U2V0Um93TGlzdEN1c3Rv
bS5jcHAKaW5kZXggNzQzOTU2OTU4MWViMWI3ODc1YWJmOGJlODhkMWUyZGMzOWE5NmZkMS4uYTdj
NDA0MTliMWRjNjRlYjQ5YmI3MDFmM2I5OTg3MWVkMzBmYWU5YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMUmVzdWx0U2V0Um93TGlzdEN1c3RvbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMUmVzdWx0U2V0
Um93TGlzdEN1c3RvbS5jcHAKQEAgLTQ0LDE2ICs0NCwxNiBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gVjhTUUxSZXN1bHRTZXRSb3dMaXN0OjppdGVtQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50
cyYgYQogICAgIElOQ19TVEFUUygiRE9NLlNRTFJlc3VsdFNldFJvd0xpc3QuaXRlbSgpIik7CiAK
ICAgICBpZiAoIWFyZ3MuTGVuZ3RoKCkpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd0Vy
cm9yKFY4UHJveHk6OlN5bnRheEVycm9yLCAiSXRlbSBpbmRleCBpcyByZXF1aXJlZC4iLCBhcmdz
LkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFN5bnRheEVycm9yLCAi
SXRlbSBpbmRleCBpcyByZXF1aXJlZC4iLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBpZiAo
IWFyZ3NbMF0tPklzTnVtYmVyKCkpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVF
cnJvcigiSXRlbSBpbmRleCBtdXN0IGJlIGEgbnVtYmVyLiIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsK
KyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKCJJdGVtIGluZGV4IG11c3QgYmUgYSBudW1i
ZXIuIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgU1FMUmVzdWx0U2V0Um93TGlzdCogcm93
TGlzdCA9IFY4U1FMUmVzdWx0U2V0Um93TGlzdDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAK
ICAgICB1bnNpZ25lZCBsb25nIGluZGV4ID0gYXJnc1swXS0+SW50ZWdlclZhbHVlKCk7CiAgICAg
aWYgKGluZGV4ID49IHJvd0xpc3QtPmxlbmd0aCgpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6
dGhyb3dFcnJvcihWOFByb3h5OjpSYW5nZUVycm9yLCAiSXRlbSBpbmRleCBpcyBvdXQgb2YgcmFu
Z2UuIiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihSYW5n
ZUVycm9yLCAiSXRlbSBpbmRleCBpcyBvdXQgb2YgcmFuZ2UuIiwgYXJncy5HZXRJc29sYXRlKCkp
OwogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGl0ZW0gPSB2ODo6T2JqZWN0OjpOZXcoKTsK
ICAgICB1bnNpZ25lZCBudW1Db2x1bW5zID0gcm93TGlzdC0+Y29sdW1uTmFtZXMoKS5zaXplKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTUUxUcmFu
c2FjdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhT
UUxUcmFuc2FjdGlvbkN1c3RvbS5jcHAKaW5kZXggYmJjOTMxNDA2N2RmMThmN2M1MmViYjBlNTFm
NGU4OTI3ZWRkNTMxZi4uYzY2MjJlYjQzZTY3NDJjMjFiYTUxNTA0MjNlY2ExNGQ4MTE3OWM2MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJhbnNh
Y3Rpb25DdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OFNRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcApAQCAtNTIsNyArNTIsNyBAQCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhTUUxUcmFuc2FjdGlvbjo6ZXhlY3V0ZVNxbENhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmCiAgICAgSU5DX1NUQVRTKCJET00uU1FMVHJhbnNhY3Rpb24uZXhlY3V0ZVNxbCgp
Iik7CiAKICAgICBpZiAoYXJncy5MZW5ndGgoKSA9PSAwKQotICAgICAgICByZXR1cm4gVjhQcm94
eTo6c2V0RE9NRXhjZXB0aW9uKFNZTlRBWF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAg
ICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihTWU5UQVhfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7
CiAKICAgICBTVFJJTkdfVE9fVjhQQVJBTUVURVJfRVhDRVBUSU9OX0JMT0NLKFY4UGFyYW1ldGVy
PD4sIHN0YXRlbWVudCwgYXJnc1swXSk7CiAKQEAgLTYwLDcgKzYwLDcgQEAgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IFY4U1FMVHJhbnNhY3Rpb246OmV4ZWN1dGVTcWxDYWxsYmFjayhjb25zdCB2ODo6
QXJndW1lbnRzJgogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAxICYmICFpc1VuZGVmaW5lZE9y
TnVsbChhcmdzWzFdKSkgewogICAgICAgICBpZiAoIWFyZ3NbMV0tPklzT2JqZWN0KCkpCi0gICAg
ICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJS
LCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9u
KFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICAgICAgdWludDMy
X3Qgc3FsQXJnc0xlbmd0aCA9IDA7CiAgICAgICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBzcWxB
cmdzT2JqZWN0ID0gYXJnc1sxXS0+VG9PYmplY3QoKTsKQEAgLTk2LDIwICs5NiwyMCBAQCB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gVjhTUUxUcmFuc2FjdGlvbjo6ZXhlY3V0ZVNxbENhbGxiYWNrKGNv
bnN0IHY4OjpBcmd1bWVudHMmCiAgICAgUmVmUHRyPFNRTFN0YXRlbWVudENhbGxiYWNrPiBjYWxs
YmFjazsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDIgJiYgIWlzVW5kZWZpbmVkT3JOdWxsKGFy
Z3NbMl0pKSB7CiAgICAgICAgIGlmICghYXJnc1syXS0+SXNPYmplY3QoKSkKLSAgICAgICAgICAg
IHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oVFlQRV9NSVNNQVRDSF9FUlIsIGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oVFlQRV9N
SVNNQVRDSF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgY2FsbGJhY2sgPSBWOFNR
TFN0YXRlbWVudENhbGxiYWNrOjpjcmVhdGUoYXJnc1syXSwgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCk7CiAgICAgfQogCiAgICAgUmVmUHRyPFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2s+IGVycm9y
Q2FsbGJhY2s7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAzICYmICFpc1VuZGVmaW5lZE9yTnVs
bChhcmdzWzNdKSkgewogICAgICAgICBpZiAoIWFyZ3NbM10tPklzT2JqZWN0KCkpCi0gICAgICAg
ICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBh
cmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKFRZ
UEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgICAgIGVycm9yQ2FsbGJh
Y2sgPSBWOFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2s6OmNyZWF0ZShhcmdzWzNdLCBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KTsKICAgICB9CiAKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAg
ICB0cmFuc2FjdGlvbi0+ZXhlY3V0ZVNRTChzdGF0ZW1lbnQsIHNxbFZhbHVlcywgY2FsbGJhY2ss
IGVycm9yQ2FsbGJhY2ssIGVjKTsKLSAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKKyAgICBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKIAogICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJhbnNhY3Rpb25T
eW5jQ3VzdG9tLmNwcAppbmRleCAzN2ViNjRhYzg2MDczNzU1Njg4NTRhYjY0YmZjNjYxNzI1YTli
NzNkLi5mNmU5OWQyMDZmOWM4YzJkMTZiYTk0YWIxYjZiMGNjYTZjM2YzYzU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlvblN5bmND
dXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRy
YW5zYWN0aW9uU3luY0N1c3RvbS5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4U1FMVHJhbnNhY3Rpb25TeW5jOjpleGVjdXRlU3FsQ2FsbGJhY2soY29uc3Qgdjg6
OkFyZ3VtZW4KICAgICBJTkNfU1RBVFMoIkRPTS5TUUxUcmFuc2FjdGlvblN5bmMuZXhlY3V0ZVNx
bCgpIik7CiAKICAgICBpZiAoIWFyZ3MuTGVuZ3RoKCkpCi0gICAgICAgIHJldHVybiBWOFByb3h5
OjpzZXRET01FeGNlcHRpb24oU1lOVEFYX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAg
ICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKFNZTlRBWF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsK
IAogICAgIFNUUklOR19UT19WOFBBUkFNRVRFUl9FWENFUFRJT05fQkxPQ0soVjhQYXJhbWV0ZXI8
Piwgc3RhdGVtZW50LCBhcmdzWzBdKTsKIApAQCAtNjAsNyArNjAsNyBAQCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhTUUxUcmFuc2FjdGlvblN5bmM6OmV4ZWN1dGVTcWxDYWxsYmFjayhjb25zdCB2
ODo6QXJndW1lbgogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAxICYmICFpc1VuZGVmaW5lZE9y
TnVsbChhcmdzWzFdKSkgewogICAgICAgICBpZiAoIWFyZ3NbMV0tPklzT2JqZWN0KCkpCi0gICAg
ICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJS
LCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9u
KFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICAgICAgdWludDMy
X3Qgc3FsQXJnc0xlbmd0aCA9IDA7CiAgICAgICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBzcWxB
cmdzT2JqZWN0ID0gYXJnc1sxXS0+VG9PYmplY3QoKTsKQEAgLTkxLDcgKzkxLDcgQEAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4U1FMVHJhbnNhY3Rpb25TeW5jOjpleGVjdXRlU3FsQ2FsbGJhY2so
Y29uc3Qgdjg6OkFyZ3VtZW4KIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiByZXN1bHQgPSB0b1Y4KHRyYW5zYWN0aW9uLT5leGVjdXRlU1FMKHN0
YXRlbWVudCwgc3FsVmFsdWVzLCBlYyksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKLSAgICBWOFByb3h5
OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICBzZXRET01FeGNl
cHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIHJldHVybiByZXN1bHQ7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTVkdMZW5ndGhD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHTGVuZ3Ro
Q3VzdG9tLmNwcAppbmRleCBhOGFhMGEyMmVkODI2NzNmNGUwMzI0NWZkZGU2OGFkOTQyY2VlOWEy
Li5mNDk0YWRjYjA1YjBmZDkxZTRiNjI3MzNjYjZkM2MzNWMyMGYyZDU3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTVkdMZW5ndGhDdXN0b20uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNWR0xlbmd0aEN1c3RvbS5j
cHAKQEAgLTQ5LDcgKzQ5LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4U1ZHTGVuZ3RoOjp2
YWx1ZUFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW0KICAgICBTVkdMZW5n
dGhDb250ZXh0IGxlbmd0aENvbnRleHQod3JhcHBlci0+Y29udGV4dEVsZW1lbnQoKSk7CiAgICAg
ZmxvYXQgdmFsdWUgPSBpbXAudmFsdWUobGVuZ3RoQ29udGV4dCwgZWMpOwogICAgIGlmIChVTkxJ
S0VMWShlYykpCi0gICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGlu
Zm8uR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgaW5m
by5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcodmFsdWUpOwogfQog
CkBAIC01OCwxMiArNTgsMTIgQEAgdm9pZCBWOFNWR0xlbmd0aDo6dmFsdWVBY2Nlc3NvclNldHRl
cih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgdjg6OkxvY2FsPHY4OjoKICAgICBJTkNfU1RB
VFMoIkRPTS5TVkdMZW5ndGgudmFsdWUuX3NldCIpOwogICAgIFNWR1Byb3BlcnR5VGVhck9mZjxT
VkdMZW5ndGg+KiB3cmFwcGVyID0gVjhTVkdMZW5ndGg6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkp
OwogICAgIGlmICh3cmFwcGVyLT5pc1JlYWRPbmx5KCkpIHsKLSAgICAgICAgVjhQcm94eTo6c2V0
RE9NRXhjZXB0aW9uKE5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUiwgaW5mby5HZXRJc29sYXRl
KCkpOworICAgICAgICBzZXRET01FeGNlcHRpb24oTk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJS
LCBpbmZvLkdldElzb2xhdGUoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAo
IWlzVW5kZWZpbmVkT3JOdWxsKHZhbHVlKSAmJiAhdmFsdWUtPklzTnVtYmVyKCkgJiYgIXZhbHVl
LT5Jc0Jvb2xlYW4oKSkgewotICAgICAgICBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigwLCBpbmZv
LkdldElzb2xhdGUoKSk7CisgICAgICAgIHRocm93VHlwZUVycm9yKDAsIGluZm8uR2V0SXNvbGF0
ZSgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNzIsNyArNzIsNyBAQCB2b2lkIFY4
U1ZHTGVuZ3RoOjp2YWx1ZUFjY2Vzc29yU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1l
LCB2ODo6TG9jYWw8djg6OgogICAgIFNWR0xlbmd0aENvbnRleHQgbGVuZ3RoQ29udGV4dCh3cmFw
cGVyLT5jb250ZXh0RWxlbWVudCgpKTsKICAgICBpbXAuc2V0VmFsdWUoc3RhdGljX2Nhc3Q8Zmxv
YXQ+KHZhbHVlLT5OdW1iZXJWYWx1ZSgpKSwgbGVuZ3RoQ29udGV4dCwgZWMpOwogICAgIGlmIChV
TkxJS0VMWShlYykpCi0gICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgaW5mby5H
ZXRJc29sYXRlKCkpOworICAgICAgICBzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0
ZSgpKTsKICAgICBlbHNlCiAgICAgICAgIHdyYXBwZXItPmNvbW1pdENoYW5nZSgpOwogfQpAQCAt
ODIsMTAgKzgyLDEwIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFNWR0xlbmd0aDo6Y29udmVy
dFRvU3BlY2lmaWVkVW5pdHNDYWxsYmFjayhjb25zdCB2ODo6QXJnCiAgICAgSU5DX1NUQVRTKCJE
T00uU1ZHTGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzIik7CiAgICAgU1ZHUHJvcGVydHlU
ZWFyT2ZmPFNWR0xlbmd0aD4qIHdyYXBwZXIgPSBWOFNWR0xlbmd0aDo6dG9OYXRpdmUoYXJncy5I
b2xkZXIoKSk7CiAgICAgaWYgKHdyYXBwZXItPmlzUmVhZE9ubHkoKSkKLSAgICAgICAgcmV0dXJu
IFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIsIGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihOT19NT0RJ
RklDQVRJT05fQUxMT1dFRF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIGlmIChhcmdz
Lkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJn
dW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RF
bm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBTVkdMZW5ndGgm
IGltcCA9IHdyYXBwZXItPnByb3BlcnR5UmVmZXJlbmNlKCk7CiAgICAgRXhjZXB0aW9uQ29kZSBl
YyA9IDA7CkBAIC05Myw3ICs5Myw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFNWR0xlbmd0
aDo6Y29udmVydFRvU3BlY2lmaWVkVW5pdHNDYWxsYmFjayhjb25zdCB2ODo6QXJnCiAgICAgU1ZH
TGVuZ3RoQ29udGV4dCBsZW5ndGhDb250ZXh0KHdyYXBwZXItPmNvbnRleHRFbGVtZW50KCkpOwog
ICAgIGltcC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyh1bml0VHlwZSwgbGVuZ3RoQ29udGV4dCwg
ZWMpOwogICAgIGlmIChVTkxJS0VMWShlYykpCi0gICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRE
T01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNldERP
TUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgd3JhcHBlci0+Y29tbWl0
Q2hhbmdlKCk7CiAgICAgcmV0dXJuIHY4VW5kZWZpbmVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTdG9yYWdlQ3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0b3JhZ2VDdXN0b20uY3BwCmluZGV4IGI3OWNk
YmRiOGNiZDJmNzkwYTAwYWVhMDZiMDQ3YWUzNjcyN2FiM2QuLjVjNGRjMDJkNDczYWEwMjUwMzQz
ZDljNzVmY2FlOGYxM2JiZjhjOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOFN0b3JhZ2VDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFN0b3JhZ2VDdXN0b20uY3BwCkBAIC0xMDgsNyArMTA4LDcgQEAgc3Rh
dGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBzdG9yYWdlU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3Ry
aW5nPiB2OE5hbWUsIHY4OjpMb2MKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICBzdG9y
YWdlLT5zZXRJdGVtKG5hbWUsIHZhbHVlLCBlYyk7CiAgICAgaWYgKGVjKQotICAgICAgICByZXR1
cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CisgICAg
ICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKIAogICAg
IHJldHVybiB2OFZhbHVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAK
aW5kZXggMzVhNjJkYjNjYjk0M2FiOTZkOTI0MjViOTlkZjhlNGFhYzY0ZGQzMC4uMzkwNGJhMTZh
MzQyMGZlOGFmN2YzMGQyZjQ0MTkzMWQ4Y2QyYTdjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0Nv
bnRleHRDdXN0b20uY3BwCkBAIC0yMjEsNyArMjIxLDcgQEAgZW51bSBPYmplY3RUeXBlIHsKIHN0
YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZ2V0T2JqZWN0UGFyYW1ldGVyKGNvbnN0IHY4OjpB
cmd1bWVudHMmIGFyZ3MsIE9iamVjdFR5cGUgb2JqZWN0VHlwZSkKIHsKICAgICBpZiAoYXJncy5M
ZW5ndGgoKSAhPSAyKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1
bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVu
b3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIEV4Y2VwdGlvbkNv
ZGUgZWMgPSAwOwogICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCA9IFY4V2ViR0xS
ZW5kZXJpbmdDb250ZXh0Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKQEAgLTI0Nyw3ICsyNDcs
NyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGdldE9iamVjdFBhcmFtZXRlcihjb25z
dCB2ODo6QXJndW1lbnRzJiBhcmdzLCBPYmplYwogICAgICAgICBicmVhazsKICAgICB9CiAgICAg
aWYgKGVjKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdz
LkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdG9WOE9iamVjdChpbmZvLCBhcmdzLkdldElzb2xh
dGUoKSk7CiB9CiAKQEAgLTI3MSwxNyArMjcxLDE3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0QXR0YWNoZWRTaGFkZXJzQ2FsbGJhY2soY29uc3QK
ICAgICBJTkNfU1RBVFMoIkRPTS5XZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0QXR0YWNoZWRTaGFk
ZXJzKCkiKTsKIAogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKLSAgICAgICAgcmV0dXJuIFY4
UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwor
ICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xh
dGUoKSk7CiAKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQqIGNvbnRleHQgPSBWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dG9OYXRpdmUoYXJncy5I
b2xkZXIoKSk7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAwICYmICFpc1VuZGVmaW5lZE9yTnVs
bChhcmdzWzBdKSAmJiAhVjhXZWJHTFByb2dyYW06Okhhc0luc3RhbmNlKGFyZ3NbMF0pKQotICAg
ICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoMCwgYXJncy5HZXRJc29sYXRlKCkp
OworICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoMCwgYXJncy5HZXRJc29sYXRlKCkpOwog
ICAgIFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSA9IFY4V2ViR0xQcm9ncmFtOjpIYXNJbnN0YW5jZShh
cmdzWzBdKSA/IFY4V2ViR0xQcm9ncmFtOjp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
OjpDYXN0KGFyZ3NbMF0pKSA6IDA7CiAgICAgVmVjdG9yPFJlZlB0cjxXZWJHTFNoYWRlcj4gPiBz
aGFkZXJzOwogICAgIGJvb2wgc3VjY2VlZCA9IGNvbnRleHQtPmdldEF0dGFjaGVkU2hhZGVycyhw
cm9ncmFtLCBzaGFkZXJzLCBlYyk7CiAgICAgaWYgKGVjKSB7Ci0gICAgICAgIFY4UHJveHk6OnNl
dERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICBzZXRET01FeGNl
cHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKICAgICB9CiAgICAgaWYgKCFzdWNjZWVkKQpAQCAtMzAzLDcgKzMw
Myw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0
RXh0ZW5zaW9uQ2FsbGJhY2soY29uc3Qgdjg6OkFyCiAgICAgSU5DX1NUQVRTKCJET00uV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmdldEV4dGVuc2lvbkNhbGxiYWNrKCkiKTsKICAgICBXZWJHTFJlbmRl
cmluZ0NvbnRleHQqIGltcCA9IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0b05hdGl2ZShhcmdz
LkhvbGRlcigpKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCi0gICAgICAgIHJldHVybiBW
OFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsK
KyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29s
YXRlKCkpOwogICAgIFNUUklOR19UT19WOFBBUkFNRVRFUl9FWENFUFRJT05fQkxPQ0soVjhQYXJh
bWV0ZXI8PiwgbmFtZSwgYXJnc1swXSk7CiAgICAgV2ViR0xFeHRlbnNpb24qIGV4dGVuc2lvbiA9
IGltcC0+Z2V0RXh0ZW5zaW9uKG5hbWUpOwogICAgIHJldHVybiB0b1Y4T2JqZWN0KGV4dGVuc2lv
biwgYXJncy5Ib2xkZXIoKSwgYXJncy5HZXRJc29sYXRlKCkpOwpAQCAtMzE0LDcgKzMxNCw3IEBA
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0RnJhbWVi
dWZmZXJBdHRhY2htZW50UGFyYW1ldGVyCiAgICAgSU5DX1NUQVRTKCJET00uV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcigpIik7CiAKICAgICBp
ZiAoYXJncy5MZW5ndGgoKSAhPSAzKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RF
bm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0
aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIEV4
Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCA9
IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKQEAgLTMy
Myw3ICszMjMsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcgogICAgIHVuc2lnbmVkIHBuYW1l
ID0gdG9JbnQzMihhcmdzWzJdKTsKICAgICBXZWJHTEdldEluZm8gaW5mbyA9IGNvbnRleHQtPmdl
dEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcih0YXJnZXQsIGF0dGFjaG1lbnQsIHBuYW1l
LCBlYyk7CiAgICAgaWYgKGVjKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0
aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRp
b24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdG9WOE9iamVjdChpbmZvLCBh
cmdzLkdldElzb2xhdGUoKSk7CiB9CiAKQEAgLTMzMiwxNCArMzMyLDE0IEBAIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0UGFyYW1ldGVyQ2FsbGJhY2so
Y29uc3Qgdjg6OkFyCiAgICAgSU5DX1NUQVRTKCJET00uV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmdl
dFBhcmFtZXRlcigpIik7CiAKICAgICBpZiAoYXJncy5MZW5ndGgoKSAhPSAxKQotICAgICAgICBy
ZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xh
dGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dCogY29udGV4dCA9IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0b05hdGl2
ZShhcmdzLkhvbGRlcigpKTsKICAgICB1bnNpZ25lZCBwbmFtZSA9IHRvSW50MzIoYXJnc1swXSk7
CiAgICAgV2ViR0xHZXRJbmZvIGluZm8gPSBjb250ZXh0LT5nZXRQYXJhbWV0ZXIocG5hbWUsIGVj
KTsKICAgICBpZiAoZWMpCi0gICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24o
ZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihl
YywgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybiB0b1Y4T2JqZWN0KGluZm8sIGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKIH0KIApAQCAtMzQ4LDE3ICszNDgsMTcgQEAgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRQcm9ncmFtUGFyYW1ldGVyQ2FsbGJh
Y2soY29uc3QKICAgICBJTkNfU1RBVFMoIkRPTS5XZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0UHJv
Z3JhbVBhcmFtZXRlcigpIik7CiAKICAgICBpZiAoYXJncy5MZW5ndGgoKSAhPSAyKQotICAgICAg
ICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElz
b2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIFdlYkdM
UmVuZGVyaW5nQ29udGV4dCogY29udGV4dCA9IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0b05h
dGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDAgJiYgIWlzVW5k
ZWZpbmVkT3JOdWxsKGFyZ3NbMF0pICYmICFWOFdlYkdMUHJvZ3JhbTo6SGFzSW5zdGFuY2UoYXJn
c1swXSkpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigwLCBhcmdzLkdl
dElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigwLCBhcmdzLkdldElz
b2xhdGUoKSk7CiAgICAgV2ViR0xQcm9ncmFtKiBwcm9ncmFtID0gVjhXZWJHTFByb2dyYW06Okhh
c0luc3RhbmNlKGFyZ3NbMF0pID8gVjhXZWJHTFByb2dyYW06OnRvTmF0aXZlKHY4OjpIYW5kbGU8
djg6Ok9iamVjdD46OkNhc3QoYXJnc1swXSkpIDogMDsKICAgICB1bnNpZ25lZCBwbmFtZSA9IHRv
SW50MzIoYXJnc1sxXSk7CiAgICAgV2ViR0xHZXRJbmZvIGluZm8gPSBjb250ZXh0LT5nZXRQcm9n
cmFtUGFyYW1ldGVyKHByb2dyYW0sIHBuYW1lLCBlYyk7CiAgICAgaWYgKGVjKQotICAgICAgICBy
ZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7Cisg
ICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAg
ICByZXR1cm4gdG9WOE9iamVjdChpbmZvLCBhcmdzLkdldElzb2xhdGUoKSk7CiB9CiAKQEAgLTM3
MywxNyArMzczLDE3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYkdMUmVuZGVyaW5nQ29u
dGV4dDo6Z2V0U2hhZGVyUGFyYW1ldGVyQ2FsbGJhY2soY29uc3QKICAgICBJTkNfU1RBVFMoIkRP
TS5XZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0U2hhZGVyUGFyYW1ldGVyKCkiKTsKIAogICAgIGlm
IChhcmdzLkxlbmd0aCgpICE9IDIpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVu
b3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRo
cm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgRXhj
ZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0ID0g
VjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIGlm
IChhcmdzLkxlbmd0aCgpID4gMCAmJiAhaXNVbmRlZmluZWRPck51bGwoYXJnc1swXSkgJiYgIVY4
V2ViR0xTaGFkZXI6Okhhc0luc3RhbmNlKGFyZ3NbMF0pKQotICAgICAgICByZXR1cm4gVjhQcm94
eTo6dGhyb3dUeXBlRXJyb3IoMCwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4g
dGhyb3dUeXBlRXJyb3IoMCwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIFdlYkdMU2hhZGVyKiBz
aGFkZXIgPSBWOFdlYkdMU2hhZGVyOjpIYXNJbnN0YW5jZShhcmdzWzBdKSA/IFY4V2ViR0xTaGFk
ZXI6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1swXSkpIDogMDsK
ICAgICB1bnNpZ25lZCBwbmFtZSA9IHRvSW50MzIoYXJnc1sxXSk7CiAgICAgV2ViR0xHZXRJbmZv
IGluZm8gPSBjb250ZXh0LT5nZXRTaGFkZXJQYXJhbWV0ZXIoc2hhZGVyLCBwbmFtZSwgZWMpOwog
ICAgIGlmIChlYykKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywg
YXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBh
cmdzLkdldElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHRvVjhPYmplY3QoaW5mbywgYXJncy5HZXRJ
c29sYXRlKCkpOwogfQogCkBAIC00MTIsMjIgKzQxMiwyMiBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFVuaWZvcm1DYWxsYmFjayhjb25zdCB2ODo6
QXJndQogICAgIElOQ19TVEFUUygiRE9NLldlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRVbmlmb3Jt
KCkiKTsKIAogICAgIGlmIChhcmdzLkxlbmd0aCgpICE9IDIpCi0gICAgICAgIHJldHVybiBWOFBy
b3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAg
ICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRl
KCkpOwogCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgV2ViR0xSZW5kZXJpbmdDb250
ZXh0KiBjb250ZXh0ID0gVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRvTmF0aXZlKGFyZ3MuSG9s
ZGVyKCkpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMCAmJiAhaXNVbmRlZmluZWRPck51bGwo
YXJnc1swXSkgJiYgIVY4V2ViR0xQcm9ncmFtOjpIYXNJbnN0YW5jZShhcmdzWzBdKSkKLSAgICAg
ICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKDAsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsK
KyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKDAsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAg
ICBXZWJHTFByb2dyYW0qIHByb2dyYW0gPSBWOFdlYkdMUHJvZ3JhbTo6SGFzSW5zdGFuY2UoYXJn
c1swXSkgPyBWOFdlYkdMUHJvZ3JhbTo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6
Q2FzdChhcmdzWzBdKSkgOiAwOwogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAxICYmICFpc1Vu
ZGVmaW5lZE9yTnVsbChhcmdzWzFdKSAmJiAhVjhXZWJHTFVuaWZvcm1Mb2NhdGlvbjo6SGFzSW5z
dGFuY2UoYXJnc1sxXSkpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigw
LCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigwLCBh
cmdzLkdldElzb2xhdGUoKSk7CiAgICAgYm9vbCBvayA9IGZhbHNlOwogICAgIFdlYkdMVW5pZm9y
bUxvY2F0aW9uKiBsb2NhdGlvbiA9IHRvV2ViR0xVbmlmb3JtTG9jYXRpb24oYXJnc1sxXSwgb2sp
OwogCiAgICAgV2ViR0xHZXRJbmZvIGluZm8gPSBjb250ZXh0LT5nZXRVbmlmb3JtKHByb2dyYW0s
IGxvY2F0aW9uLCBlYyk7CiAgICAgaWYgKGVjKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0
RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRE
T01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdG9WOE9iamVj
dChpbmZvLCBhcmdzLkdldElzb2xhdGUoKSk7CiB9CiAKQEAgLTQ3Nyw3ICs0NzcsNyBAQCBzdGF0
aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZlcnRleEF0dHJpYkFuZFVuaWZvcm1IZWxwZXJmKGNv
bnN0IHY4OjpBcmd1bWVudHMmCiAgICAgLy8gKiBnbFZlcnRleEF0dHJpYjRmdihHTGludCBpbmRl
eCwgRmxvYXQzMkFycmF5IGRhdGEpOwogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgIT0gMikKLSAg
ICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5H
ZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJv
cihhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBib29sIG9rID0gZmFsc2U7CiAgICAgaW50IGlu
ZGV4ID0gLTE7CkBAIC00ODcsNyArNDg3LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiB2ZXJ0ZXhBdHRyaWJBbmRVbmlmb3JtSGVscGVyZihjb25zdCB2ODo6QXJndW1lbnRzJgogICAg
ICAgICBpbmRleCA9IHRvSW50MzIoYXJnc1swXSk7CiAgICAgZWxzZSB7CiAgICAgICAgIGlmIChh
cmdzLkxlbmd0aCgpID4gMCAmJiAhaXNVbmRlZmluZWRPck51bGwoYXJnc1swXSkgJiYgIVY4V2Vi
R0xVbmlmb3JtTG9jYXRpb246Okhhc0luc3RhbmNlKGFyZ3NbMF0pKQotICAgICAgICAgICAgcmV0
dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9yKDAsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAg
ICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAg
ICAgIGxvY2F0aW9uID0gdG9XZWJHTFVuaWZvcm1Mb2NhdGlvbihhcmdzWzBdLCBvayk7CiAgICAg
fQogCkBAIC01MDksMTkgKzUwOSwxOSBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZl
cnRleEF0dHJpYkFuZFVuaWZvcm1IZWxwZXJmKGNvbnN0IHY4OjpBcmd1bWVudHMmCiAgICAgICAg
ICAgICBkZWZhdWx0OiBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgYnJlYWs7CiAgICAgICAgIH0KICAg
ICAgICAgaWYgKGVjKQotICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlv
bihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICAgICAgcmV0dXJuIHNldERPTUV4Y2Vw
dGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5l
ZCgpOwogICAgIH0KIAogICAgIGlmIChhcmdzWzFdLklzRW1wdHkoKSB8fCAhYXJnc1sxXS0+SXNB
cnJheSgpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoMCwgYXJncy5H
ZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoMCwgYXJncy5HZXRJ
c29sYXRlKCkpOwogICAgIHY4OjpIYW5kbGU8djg6OkFycmF5PiBhcnJheSA9CiAgICAgICB2ODo6
TG9jYWw8djg6OkFycmF5Pjo6Q2FzdChhcmdzWzFdKTsKICAgICB1aW50MzJfdCBsZW4gPSBhcnJh
eS0+TGVuZ3RoKCk7CiAgICAgZmxvYXQqIGRhdGEgPSBqc0FycmF5VG9GbG9hdEFycmF5KGFycmF5
LCBsZW4pOwogICAgIGlmICghZGF0YSkgewogICAgICAgICAvLyBGSVhNRTogY29uc2lkZXIgZGlm
ZmVyZW50IC8gYmV0dGVyIGV4Y2VwdGlvbiB0eXBlLgotICAgICAgICByZXR1cm4gVjhQcm94eTo6
c2V0RE9NRXhjZXB0aW9uKFNZTlRBWF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAg
cmV0dXJuIHNldERPTUV4Y2VwdGlvbihTWU5UQVhfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAg
ICAgfQogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIHN3aXRjaCAoZnVuY3Rpb25Ub0Nh
bGwpIHsKQEAgLTUzNyw3ICs1MzcsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZl
cnRleEF0dHJpYkFuZFVuaWZvcm1IZWxwZXJmKGNvbnN0IHY4OjpBcmd1bWVudHMmCiAgICAgfQog
ICAgIGZhc3RGcmVlKGRhdGEpOwogICAgIGlmIChlYykKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6
OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4g
c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHY4OjpV
bmRlZmluZWQoKTsKIH0KIApAQCAtNTU0LDExICs1NTQsMTEgQEAgc3RhdGljIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiB1bmlmb3JtSGVscGVyaShjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzLAogICAg
IC8vICogZ2xVbmlmb3JtNGl2KEdMVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBJbnQzMkFycmF5
IGRhdGEpOwogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgIT0gMikKLSAgICAgICAgcmV0dXJuIFY4
UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwor
ICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xh
dGUoKSk7CiAKICAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQgPSBWOFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgaWYgKGFyZ3MuTGVu
Z3RoKCkgPiAwICYmICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzBdKSAmJiAhVjhXZWJHTFVuaWZv
cm1Mb2NhdGlvbjo6SGFzSW5zdGFuY2UoYXJnc1swXSkpCi0gICAgICAgIHJldHVybiBWOFByb3h5
Ojp0aHJvd1R5cGVFcnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0
aHJvd1R5cGVFcnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgYm9vbCBvayA9IGZhbHNl
OwogICAgIFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiA9IHRvV2ViR0xVbmlmb3JtTG9j
YXRpb24oYXJnc1swXSwgb2spOwogCkBAIC01NzQsMTkgKzU3NCwxOSBAQCBzdGF0aWMgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHVuaWZvcm1IZWxwZXJpKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3Ms
CiAgICAgICAgICAgICBkZWZhdWx0OiBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgYnJlYWs7CiAgICAg
ICAgIH0KICAgICAgICAgaWYgKGVjKQotICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERP
TUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICAgICAgcmV0dXJuIHNl
dERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICByZXR1cm4gdjg6
OlVuZGVmaW5lZCgpOwogICAgIH0KIAogICAgIGlmIChhcmdzWzFdLklzRW1wdHkoKSB8fCAhYXJn
c1sxXS0+SXNBcnJheSgpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3Io
MCwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoMCwg
YXJncy5HZXRJc29sYXRlKCkpOwogICAgIHY4OjpIYW5kbGU8djg6OkFycmF5PiBhcnJheSA9CiAg
ICAgICB2ODo6TG9jYWw8djg6OkFycmF5Pjo6Q2FzdChhcmdzWzFdKTsKICAgICB1aW50MzJfdCBs
ZW4gPSBhcnJheS0+TGVuZ3RoKCk7CiAgICAgaW50KiBkYXRhID0ganNBcnJheVRvSW50QXJyYXko
YXJyYXksIGxlbik7CiAgICAgaWYgKCFkYXRhKSB7CiAgICAgICAgIC8vIEZJWE1FOiBjb25zaWRl
ciBkaWZmZXJlbnQgLyBiZXR0ZXIgZXhjZXB0aW9uIHR5cGUuCi0gICAgICAgIHJldHVybiBWOFBy
b3h5OjpzZXRET01FeGNlcHRpb24oU1lOVEFYX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOworICAg
ICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKFNZTlRBWF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKICAgICB9CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgc3dpdGNoIChmdW5jdGlv
blRvQ2FsbCkgewpAQCAtNTk4LDcgKzU5OCw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdW5pZm9ybUhlbHBlcmkoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywKICAgICB9CiAgICAg
ZmFzdEZyZWUoZGF0YSk7CiAgICAgaWYgKGVjKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0
RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRE
T01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdjg6OlVuZGVm
aW5lZCgpOwogfQogCkBAIC02NjMsMTIgKzY2MywxMiBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHVuaWZvcm1NYXRyaXhIZWxwZXIoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywKICAg
ICAvLwogICAgIC8vIEZJWE1FOiBuZWVkIHRvIGNoYW5nZSB0byBhY2NlcHQgRmxvYXQzMkFycmF5
IGFzIHdlbGwuCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgIT0gMykKLSAgICAgICAgcmV0dXJuIFY4
UHJveHk6OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwor
ICAgICAgICByZXR1cm4gdGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xh
dGUoKSk7CiAKICAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQgPSBWOFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAKICAgICBpZiAoYXJncy5M
ZW5ndGgoKSA+IDAgJiYgIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbMF0pICYmICFWOFdlYkdMVW5p
Zm9ybUxvY2F0aW9uOjpIYXNJbnN0YW5jZShhcmdzWzBdKSkKLSAgICAgICAgcmV0dXJuIFY4UHJv
eHk6OnRocm93VHlwZUVycm9yKDAsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJu
IHRocm93VHlwZUVycm9yKDAsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBib29sIG9rID0gZmFs
c2U7CiAgICAgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uID0gdG9XZWJHTFVuaWZvcm1M
b2NhdGlvbihhcmdzWzBdLCBvayk7CiAgICAgCkBAIC02ODQsMTkgKzY4NCwxOSBAQCBzdGF0aWMg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IHVuaWZvcm1NYXRyaXhIZWxwZXIoY29uc3Qgdjg6OkFyZ3Vt
ZW50cyYgYXJncywKICAgICAgICAgICAgIGRlZmF1bHQ6IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyBi
cmVhazsKICAgICAgICAgfQogICAgICAgICBpZiAoZWMpCi0gICAgICAgICAgICByZXR1cm4gVjhQ
cm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgICAg
ICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgICAg
IHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAgICAgfQogCiAgICAgaWYgKGFyZ3NbMl0uSXNFbXB0
eSgpIHx8ICFhcmdzWzJdLT5Jc0FycmF5KCkpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJv
d1R5cGVFcnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd1R5
cGVFcnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgdjg6OkhhbmRsZTx2ODo6QXJyYXk+
IGFycmF5ID0KICAgICAgIHY4OjpMb2NhbDx2ODo6QXJyYXk+OjpDYXN0KGFyZ3NbMl0pOwogICAg
IHVpbnQzMl90IGxlbiA9IGFycmF5LT5MZW5ndGgoKTsKICAgICBmbG9hdCogZGF0YSA9IGpzQXJy
YXlUb0Zsb2F0QXJyYXkoYXJyYXksIGxlbik7CiAgICAgaWYgKCFkYXRhKSB7CiAgICAgICAgIC8v
IEZJWE1FOiBjb25zaWRlciBkaWZmZXJlbnQgLyBiZXR0ZXIgZXhjZXB0aW9uIHR5cGUuCi0gICAg
ICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oU1lOVEFYX0VSUiwgYXJncy5HZXRJ
c29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKFNZTlRBWF9FUlIsIGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKICAgICB9CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAg
c3dpdGNoIChtYXRyaXhTaXplKSB7CkBAIC03MDcsNyArNzA3LDcgQEAgc3RhdGljIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiB1bmlmb3JtTWF0cml4SGVscGVyKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFy
Z3MsCiAgICAgfQogICAgIGZhc3RGcmVlKGRhdGEpOwogICAgIGlmIChlYykKLSAgICAgICAgcmV0
dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOyAKKyAg
ICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOyAKICAg
ICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRQb2ludENvbnN0cnVjdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdFBvaW50Q29uc3RydWN0b3IuY3Bw
CmluZGV4IGM4NDQ1MmM3YzViNDRkMTBkY2ZmMTYxNDk0Zjc2N2UyNjU5MjAyNmQuLmRlNDAyMmE4
YmVkYTYxZjFjZGZhZjg5OWIyOTJmOWQ0ZGMwNThlNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdFBvaW50Q29uc3RydWN0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdFBvaW50Q29uc3RydWN0
b3IuY3BwCkBAIC00NSw3ICs0NSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYktpdFBv
aW50Ojpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyCiAgICAgSU5D
X1NUQVRTKCJET00uV2ViS2l0UG9pbnQuQ29uc3RydWN0b3IiKTsKIAogICAgIGlmICghYXJncy5J
c0NvbnN0cnVjdENhbGwoKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93VHlwZUVycm9y
KCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4i
LCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcigiRE9N
IG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIiwgYXJn
cy5HZXRJc29sYXRlKCkpOwogCiAgICAgaWYgKENvbnN0cnVjdG9yTW9kZTo6Y3VycmVudCgpID09
IENvbnN0cnVjdG9yTW9kZTo6V3JhcEV4aXN0aW5nT2JqZWN0KQogICAgICAgICByZXR1cm4gYXJn
cy5Ib2xkZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFdlYlNvY2tldEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhXZWJTb2NrZXRDdXN0b20uY3BwCmluZGV4IDFmMDlhODg2MGFlNTZmMjM4NjNkZmEwZDI4
N2RmYmFmNjZkNzdmYWUuLjNkNDRiNTI5MjA4YWQzODNhNWY4NTcxZDIxMjFlOTUyNTZlYmM0ODQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYlNvY2tl
dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2Vi
U29ja2V0Q3VzdG9tLmNwcApAQCAtNTcsMjUgKzU3LDI1IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBWOFdlYlNvY2tldDo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBh
cmdzCiAgICAgSU5DX1NUQVRTKCJET00uV2ViU29ja2V0LkNvbnN0cnVjdG9yIik7CiAKICAgICBp
ZiAoIWFyZ3MuSXNDb25zdHJ1Y3RDYWxsKCkpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJv
d1R5cGVFcnJvcigiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEg
ZnVuY3Rpb24uIiwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gdGhyb3dUeXBl
RXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0
aW9uLiIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIGlmIChDb25zdHJ1Y3Rvck1vZGU6OmN1
cnJlbnQoKSA9PSBDb25zdHJ1Y3Rvck1vZGU6OldyYXBFeGlzdGluZ09iamVjdCkKICAgICAgICAg
cmV0dXJuIGFyZ3MuSG9sZGVyKCk7CiAKICAgICBpZiAoYXJncy5MZW5ndGgoKSA9PSAwKQotICAg
ICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdl
dElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiB0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9y
KGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIHY4OjpUcnlDYXRjaCB0cnlDYXRjaDsKICAgICB2
ODo6SGFuZGxlPHY4OjpTdHJpbmc+IHVybHN0cmluZyA9IGFyZ3NbMF0tPlRvU3RyaW5nKCk7CiAg
ICAgaWYgKHRyeUNhdGNoLkhhc0NhdWdodCgpKQogICAgICAgICByZXR1cm4gdGhyb3dFcnJvcih0
cnlDYXRjaC5FeGNlcHRpb24oKSwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIGlmICh1cmxzdHJp
bmcuSXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5
OjpTeW50YXhFcnJvciwgIkVtcHR5IFVSTCIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAg
cmV0dXJuIHRocm93RXJyb3IoU3ludGF4RXJyb3IsICJFbXB0eSBVUkwiLCBhcmdzLkdldElzb2xh
dGUoKSk7CiAKICAgICAvLyBHZXQgdGhlIHNjcmlwdCBleGVjdXRpb24gY29udGV4dC4KICAgICBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0ID0gZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpOwogICAgIGlmICghY29udGV4dCkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJy
b3IoVjhQcm94eTo6UmVmZXJlbmNlRXJyb3IsICJXZWJTb2NrZXQgY29uc3RydWN0b3IncyBhc3Nv
Y2lhdGVkIGZyYW1lIGlzIG5vdCBhdmFpbGFibGUiLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAg
ICAgIHJldHVybiB0aHJvd0Vycm9yKFJlZmVyZW5jZUVycm9yLCAiV2ViU29ja2V0IGNvbnN0cnVj
dG9yJ3MgYXNzb2NpYXRlZCBmcmFtZSBpcyBub3QgYXZhaWxhYmxlIiwgYXJncy5HZXRJc29sYXRl
KCkpOwogCiAgICAgY29uc3QgS1VSTCYgdXJsID0gY29udGV4dC0+Y29tcGxldGVVUkwodG9XZWJD
b3JlU3RyaW5nKHVybHN0cmluZykpOwogCkBAIC0xMDYsNyArMTA2LDcgQEAgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IFY4V2ViU29ja2V0Ojpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1
bWVudHMmIGFyZ3MKICAgICAgICAgfQogICAgIH0KICAgICBpZiAoZWMpCi0gICAgICAgIHJldHVy
biBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAg
ICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAg
djg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gYXJncy5Ib2xkZXIoKTsKICAgICBWOERP
TVdyYXBwZXI6OnNldERPTVdyYXBwZXIod3JhcHBlciwgJmluZm8sIHdlYlNvY2tldC5nZXQoKSk7
CkBAIC0xMTksNyArMTE5LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViU29ja2V0Ojpz
ZW5kQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICBJTkNfU1RBVFMoIkRP
TS5XZWJTb2NrZXQuc2VuZCgpIik7CiAKICAgICBpZiAoIWFyZ3MuTGVuZ3RoKCkpCi0gICAgICAg
IHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJn
cy5HZXRJc29sYXRlKCkpOwogCiAgICAgV2ViU29ja2V0KiB3ZWJTb2NrZXQgPSBWOFdlYlNvY2tl
dDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG1l
c3NhZ2UgPSBhcmdzWzBdOwpAQCAtMTQ1LDcgKzE0NSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBWOFdlYlNvY2tldDo6c2VuZENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAg
ICAgICAgIHJlc3VsdCA9IHdlYlNvY2tldC0+c2VuZCh0b1dlYkNvcmVTdHJpbmcoc3RyaW5nTWVz
c2FnZSksIGVjKTsKICAgICB9CiAgICAgaWYgKGVjKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6
c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBz
ZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIHJldHVybiB2OEJv
b2xlYW4ocmVzdWx0LCBhcmdzLkdldElzb2xhdGUoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3Bw
CmluZGV4IDFmN2RhMDdhNDcwY2JmNjUxMDJjNjk2MzRmNDYzOWRjZjY4ZWU2NTUuLjU3MjMyNTc4
Y2RhZDEwOTZiOWYxYmE5Yzc0ODViYWVlYTUzODQ5YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3Bw
CkBAIC0xMDYsNyArMTA2LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V29ya2VyQ29udGV4
dDo6aW1wb3J0U2NyaXB0c0NhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMKICAgICB3b3JrZXJD
b250ZXh0LT5pbXBvcnRTY3JpcHRzKHVybHMsIGVjKTsKIAogICAgIGlmIChlYykKLSAgICAgICAg
cmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwor
ICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAK
ICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2VyQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckN1c3RvbS5jcHAKaW5kZXggMDdmZjJkMDQyYjNl
Zjk4NjM3Zjc5ZmRjNWM1OTAzOWEyNjgyZjE5ZS4uOTQ1YzI5ZWMwZGZkNjliYWRjZWU3NTlhZTAx
ZDRlMDA1NWE5OTc5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4V29ya2VyQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhXb3JrZXJDdXN0b20uY3BwCkBAIC02OCw3ICs2OCw3IEBAIHN0YXRpYyB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gaGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayhjb25zdCB2ODo6QXJndW1l
bnRzJiBhcmdzCiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAgICAgRXhjZXB0aW9u
Q29kZSBlYyA9IDA7CiAgICAgd29ya2VyLT5wb3N0TWVzc2FnZShtZXNzYWdlLnJlbGVhc2UoKSwg
JnBvcnRzLCBlYyk7Ci0gICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJn
cy5HZXRJc29sYXRlKCkpOworICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKIH0KIAogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V29ya2VyOjpwb3N0TWVz
c2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0
Q29uc3RydWN0b3IuY3BwCmluZGV4IDllODcyMDliMmIwNDlkOTRkOGViOTQyZTM5ZDljZWVlN2Y5
N2ZiNjkuLjdiZDY3MzA4MjM4ZDNjZWQ2YmZmZDQzMDQzNDVmNDEwMjkyMWNmM2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q29u
c3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFhN
TEh0dHBSZXF1ZXN0Q29uc3RydWN0b3IuY3BwCkBAIC00OCw3ICs0OCw3IEBAIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBWOFhNTEh0dHBSZXF1ZXN0Ojpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4
OjpBcmd1bWVudHMmCiAgICAgSU5DX1NUQVRTKCJET00uWE1MSHR0cFJlcXVlc3QuQ29uc3RydWN0
b3IiKTsKIAogICAgIGlmICghYXJncy5Jc0NvbnN0cnVjdENhbGwoKSkKLSAgICAgICAgcmV0dXJu
IFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBi
ZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4iLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJl
dHVybiB0aHJvd1R5cGVFcnJvcigiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2Fs
bGVkIGFzIGEgZnVuY3Rpb24uIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgaWYgKENvbnN0
cnVjdG9yTW9kZTo6Y3VycmVudCgpID09IENvbnN0cnVjdG9yTW9kZTo6V3JhcEV4aXN0aW5nT2Jq
ZWN0KQogICAgICAgICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKQEAgLTU3LDcgKzU3LDcgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4WE1MSHR0cFJlcXVlc3Q6OmNvbnN0cnVjdG9yQ2FsbGJhY2so
Y29uc3Qgdjg6OkFyZ3VtZW50cyYKICAgICAvLyBBbGxvY2F0ZSBhIFhNTEh0dHBSZXF1ZXN0IG9i
amVjdCBhcyBpdHMgaW50ZXJuYWwgZmllbGQuCiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dCA9IGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICBpZiAoIWNvbnRleHQp
Ci0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJlZmVyZW5jZUVy
cm9yLCAiWE1MSHR0cFJlcXVlc3QgY29uc3RydWN0b3IncyBhc3NvY2lhdGVkIGNvbnRleHQgaXMg
bm90IGF2YWlsYWJsZSIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93
RXJyb3IoUmVmZXJlbmNlRXJyb3IsICJYTUxIdHRwUmVxdWVzdCBjb25zdHJ1Y3RvcidzIGFzc29j
aWF0ZWQgY29udGV4dCBpcyBub3QgYXZhaWxhYmxlIiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAg
ICAgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBzZWN1cml0eU9yaWdpbjsKICAgICBpZiAoVjhJc29s
YXRlZENvbnRleHQqIGlzb2xhdGVkQ29udGV4dCA9IFY4SXNvbGF0ZWRDb250ZXh0OjpnZXRFbnRl
cmVkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhY
TUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKaW5kZXggNGJiNTcwMDRjNjQyYWUzYWRmNTNl
M2IyY2RiNjU0Yzg5N2IxOTQ5Yi4uZjg5ZTNjOTdkODg3Y2NhMzAwZTk1MDMyNjRkYjM2MjZiYmY2
M2Q5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4WE1M
SHR0cFJlcXVlc3RDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcApAQCAtNTcsNyArNTcsNyBAQCB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhYTUxIdHRwUmVxdWVzdDo6cmVzcG9uc2VUZXh0QWNjZXNzb3JHZXR0
ZXIodjg6OkxvY2FsPHY4OgogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIGNvbnN0IFN0
cmluZyYgdGV4dCA9IHhtbEh0dHBSZXF1ZXN0LT5yZXNwb25zZVRleHQoZWMpOwogICAgIGlmIChl
YykKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJ
c29sYXRlKCkpOworICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElz
b2xhdGUoKSk7CiAgICAgcmV0dXJuIHY4U3RyaW5nKHRleHQsIGluZm8uR2V0SXNvbGF0ZSgpKTsK
IH0KIApAQCAtNzYsNyArNzYsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhYTUxIdHRwUmVx
dWVzdDo6cmVzcG9uc2VBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0cgogICAgICAgICAg
ICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgICAgICAgICBEb2N1bWVudCogZG9jdW1lbnQg
PSB4bWxIdHRwUmVxdWVzdC0+cmVzcG9uc2VYTUwoZWMpOwogICAgICAgICAgICAgaWYgKGVjKQot
ICAgICAgICAgICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGluZm8u
R2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVj
LCBpbmZvLkdldElzb2xhdGUoKSk7CiAgICAgICAgICAgICByZXR1cm4gdG9WOChkb2N1bWVudCwg
aW5mby5HZXRJc29sYXRlKCkpOwogICAgICAgICB9CiAKQEAgLTg1LDcgKzg1LDcgQEAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4WE1MSHR0cFJlcXVlc3Q6OnJlc3BvbnNlQWNjZXNzb3JHZXR0ZXIo
djg6OkxvY2FsPHY4OjpTdHIKICAgICAgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAg
ICAgICAgICAgQmxvYiogYmxvYiA9IHhtbEh0dHBSZXF1ZXN0LT5yZXNwb25zZUJsb2IoZWMpOwog
ICAgICAgICAgICAgaWYgKGVjKQotICAgICAgICAgICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRE
T01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgICAgICAgICByZXR1
cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CiAgICAgICAgICAgICBy
ZXR1cm4gdG9WOChibG9iLCBpbmZvLkdldElzb2xhdGUoKSk7CiAgICAgICAgIH0KIApAQCAtOTQs
NyArOTQsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhYTUxIdHRwUmVxdWVzdDo6cmVzcG9u
c2VBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0cgogICAgICAgICAgICAgRXhjZXB0aW9u
Q29kZSBlYyA9IDA7CiAgICAgICAgICAgICBBcnJheUJ1ZmZlciogYXJyYXlCdWZmZXIgPSB4bWxI
dHRwUmVxdWVzdC0+cmVzcG9uc2VBcnJheUJ1ZmZlcihlYyk7CiAgICAgICAgICAgICBpZiAoZWMp
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgaW5m
by5HZXRJc29sYXRlKCkpOworICAgICAgICAgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24o
ZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgICAgIHJldHVybiB0b1Y4KGFycmF5QnVm
ZmVyLCBpbmZvLkdldElzb2xhdGUoKSk7CiAgICAgICAgIH0KICAgICB9CkBAIC0xMTIsNyArMTEy
LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4WE1MSHR0cFJlcXVlc3Q6Om9wZW5DYWxsYmFj
ayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIC8vIG9wZW4obWV0aG9kLCB1cmwsIGFz
eW5jLCB1c2VyLCBwYXNzd2QpCiAKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDIpCi0gICAgICAg
IHJldHVybiBWOFByb3h5Ojp0aHJvd05vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJn
cy5HZXRJc29sYXRlKCkpOwogCiAgICAgWE1MSHR0cFJlcXVlc3QqIHhtbEh0dHBSZXF1ZXN0ID0g
VjhYTUxIdHRwUmVxdWVzdDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAKQEAgLTE0Myw3ICsx
NDMsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhYTUxIdHRwUmVxdWVzdDo6b3BlbkNhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgICAgIHhtbEh0dHBSZXF1ZXN0LT5v
cGVuKG1ldGhvZCwgdXJsLCBlYyk7CiAKICAgICBpZiAoZWMpCi0gICAgICAgIHJldHVybiBWOFBy
b3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgcmV0
dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgcmV0dXJu
IHY4OjpVbmRlZmluZWQoKTsKIH0KQEAgLTIwMCw3ICsyMDAsNyBAQCB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gVjhYTUxIdHRwUmVxdWVzdDo6c2VuZENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMm
IGFyZ3MpCiAgICAgfQogCiAgICAgaWYgKGVjKQotICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0
RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBzZXRE
T01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIHJldHVybiB2ODo6VW5k
ZWZpbmVkKCk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>